Автор | Сообщение |
|
Отправлено: 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)
|
|
|
Ответов - 7
[только новые]
|
|
|
Отправлено: 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)
|
|
|
|
Отправлено: 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)
|
|
|
|
Отправлено: 25.11.23 09:44. Заголовок: Задание: Определите ..
Задание: цитата: | Определите все пары (x, y), при которых значение данного арифметического выражения является простым числом. |
| Алексей21 пишет: В вашей программе значение выражения - переменная a, а Вы зачем-то проверяете x и y.
|
|
|
|
Отправлено: 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)
|
|
|
|
Отправлено: 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)
|
|
|
|
Отправлено: 28.11.23 22:19. Заголовок: Понял, Спасибо. Мате..
Понял, Спасибо. Математика подвела вычел часть выражения, а не все. Еще работать и работать.
|
|
|
|
Отправлено: 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))
|
|
|
|