На этом форуме отвечают на конкретные вопросы. Фраза «я не понимаю, как решать» — это не вопрос. На вопрос «как решить задачу №X» вас отошлют к материалам сайта kpolyakov.spb.ru. За бессвязный поток слов и неспособность формулировать свои мысли — бан.

Если у вас не сходится ответ на какую-то задачу, пожалуйста сразу представляйте свое «правильное» решение.
Программы "заворачивайте" в тэг [pre2]...[/pre2], при этом сохраняются все отступы и применяется моноширинный шрифт. Если у вас используется сочетание "[i]" для обозначения элемента массива или строки, ставьте пробел после открывающей скобки. Иначе система выделит все дальнейшее курсивом.

Для регистрации на форуме щелкните по ссылке «Вход-регистрация» вверху страницы. В открывшееся окошко «ник» введите свою фамилию на русском языке (например, Иванов). В окошко «пароль» введите придуманный вами пароль, состоящий из латинских букв и цифр. Поставьте галочку в окошке «зарегистрироваться, я новый участник» и нажмите кнопку «ОК».

АвторСообщение



Сообщение: 4
ссылка на сообщение  Отправлено: 24.11.23 21:16. Заголовок: №14 (7005) Не сходиться с ответом, не понимаю в чем моя проблема?


Вроде с условием разобрался, но с ответом не сходится, помогите разобраться в чем моя проблема?
def p(b):
return b>1 and all(b%i!=0 for i in range(2,int(b**0.5)+1))
for x in range(19):
for y in range(19):
a=5*12**4+x*12**3+9*12**2+x*12**1+4*12**0 + 7*14**3+x*14**2+x*14**1+6*14**0 \
+ 5*16**4+5*16**3+x*16**2+x*16**1+8*16**0 + 3*19**3+y*19**2+x*19**1+7*19**0
if p(x) and p(y):
print(x,y,x*y)

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 7 [только новые]







Сообщение: 48
ссылка на сообщение  Отправлено: 25.11.23 00:18. Заголовок: 5x9x412 + 7xx614 + 5..


5x9x412 + 7xx614 + 55xx816 – 3yx719

5x9x412 - x<12
7xx614 - x<14
55xx816 - x<16
3yx719 - x<19

Значит x может быть от 0 до 12, for x in range(12)

3yx719 - y<19

Значит y может быть от 0 до 19, for y in range(19)

Программа делает, не то что хочет программист, а то что он ей приказал делать. Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 5
ссылка на сообщение  Отправлено: 25.11.23 00:50. Заголовок: Поставил 12 и 19 в r..


Поставил 12 и 19 в range, ответ получается 187, а должен быть 170. по смыслу понимаю, что х и у разные в каждой системе счисления из-за основания.
но все равно не понимаю, как получили 170.
def p(b):
return b>1 and all(b%i!=0 for i in range(2,int(b**0.5)+1))
for x in range(12):
for y in range(19):
a=5*12**4+x*12**3+9*12**2+x*12**1+4*12**0 + 7*14**3+x*14**2+x*14**1+6*14**0 \
+ 5*16**4+5*16**3+x*16**2+x*16**1+8*16**0 + 3*19**3+y*19**2+x*19**1+7*19**0
if p(x) and p(y):
print(x,y,x*y)

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 49
ссылка на сообщение  Отправлено: 25.11.23 09:44. Заголовок: Задание: Определите ..


Задание:

 цитата:
Определите все пары (x, y), при которых значение данного арифметического выражения является простым числом.



Алексей21 пишет:

 цитата:
if p(x) and p(y):



В вашей программе значение выражения - переменная a, а Вы зачем-то проверяете x и y.

Программа делает, не то что хочет программист, а то что он ей приказал делать. Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 6
ссылка на сообщение  Отправлено: 26.11.23 01:28. Заголовок: получается 198, похоже совсем не понимаю свою проблему(


def p(b):
return b>1 and all(b%i!=0 for i in range(2,int(b**0.5)+1))
for x in range(12):
for y in range(19):
a=5*12**4+x*12**3+9*12**2+x*12**1+4*12**0 + 7*14**3+x*14**2+x*14**1+6*14**0 \
+ 5*16**4+5*16**3+x*16**2+x*16**1+8*16**0 - 3*19**3+y*19**2+x*19**1+7*19**0
if p(a):
print(x,y,x*y)

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 50
ссылка на сообщение  Отправлено: 26.11.23 12:44. Заголовок: Алексей21 пишет: + ..


Алексей21 пишет:

 цитата:
+ 5*16**4+5*16**3+x*16**2+x*16**1+8*16**0 - 3*19**3+y*19**2+x*19**1+7*19**0


Должно быть:
+ 5*16**4+5*16**3+x*16**2+x*16**1+8*16**0 - (3*19**3+y*19**2+x*19**1+7*19**0)
или:
+ 5*16**4+5*16**3+x*16**2+x*16**1+8*16**0 - 3*19**3-y*19**2-x*19**1-7*19**0

Исправленная программа:
def p(b): 
return b>1 and all(b%i!=0 for i in range(2,int(b**0.5)+1))

pr=1
for x in range(12):
for y in range(19):
a=5*12**4+x*12**3+9*12**2+x*12**1+4*12**0 + 7*14**3+x*14**2+x*14**1+6*14**0 \
+ 5*16**4+5*16**3+x*16**2+x*16**1+8*16**0 - (3*19**3+y*19**2+x*19**1+7*19**0)
if p(a):
pr=max(pr, x*y)
print(pr)


Программа делает, не то что хочет программист, а то что он ей приказал делать. Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 7
ссылка на сообщение  Отправлено: 28.11.23 22:19. Заголовок: Понял, Спасибо. Мате..


Понял, Спасибо. Математика подвела вычел часть выражения, а не все. Еще работать и работать.

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 178
ссылка на сообщение  Отправлено: 05.12.23 12:16. Заголовок: from itertools impo..


 
from itertools import *
from math import *
deliteli=lambda n: [c for c in range(2,ceil(n**0.5+1)) if n%c==0]
l=[]
al='0123456789abcdefghijklmnopqrstuvwxyz'
for x,y in product(al[:12],al[:19]):
a=int(f'5{x}9{x}4',12) + int(f'7{x}{x}6',14) + int(f'55{x}{x}8',16) - int(f'3{y}{x}7',19)
if deliteli(a)==[]:
l.append(int(x,12)*int(y,19))
print(max(l))


Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 1223
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет