Автор | Сообщение |
|
Отправлено: 15.04.21 20:11. Заголовок: Задача 3861, что-то странное в условии
Задача: Значение выражения 277 – 311 + 36 – x записали в троичной системе счисления, при этом сумма цифр в записи оказалась равной 24. При каком минимальном x это возможно? Написали программу: x = 0 s = 0 while s != 24: x += 1 a = 2 ** 77 - 3 ** 11 + 36 - x s = 0 while a>0: s += a % 3 a = a // 3 print(x) Программа висит (нет ответа). Более того, если подставить для х значение из ответа (6) то сумма цифр сильно более 24.
|
|
|
Ответов - 5
[только новые]
|
|
|
| Администратор
|
Сообщение: 2708
|
|
Отправлено: 15.04.21 20:30. Заголовок: Спасибо, исправил оп..
Спасибо, исправил опечатки. Должно быть так: цитата: | while s != 22: a = 27 ** 7 - 3 ** 11 + 36 - x |
|
|
|
|
|
Отправлено: 15.04.21 20:41. Заголовок: можно и так uses sch..
можно и так uses school; begin (1..100).Where(x->(27bi**7-3bi**11+36-x).tostring.tobase(3).sum(z->z.todigit)=22).First.print end. но в условие нужно добавить слово "положительном" х!
|
|
|
|
| Администратор
|
Сообщение: 2709
|
|
Отправлено: 15.04.21 20:53. Заголовок: safinim пишет: но в ..
safinim пишет: цитата: | но в условие нужно добавить слово "положительном" х! |
|
Спасибо, вы абсолютно правы. Исправлено.
|
|
|
|
Отправлено: 26.01.22 18:42. Заголовок: Прошу исправить усло..
Прошу исправить условие задачи (№3861), оно по-прежнему некорректное. Прикладываю мое решение: for x in range(0,1000000): a = 27**7 - 3**11 + 36 - x b = 0 c = 22 while a > 0: b+=a%3 a//=3 if b==c: break print(x) На выходе получаю 0. В аналогичной задаче №3862, подставив другие значения, получаю ответ 16(И он является верным) Код аналогичной задачи: for x in range(0,100000): a = 64**11 - 4**10 + 96 - x b = 0 c = 71 while a > 0: b+=a%4 a//=4 if c==b: break print(x) Ошибка в моей внимательности
|
|
|
|
Отправлено: 27.01.22 06:34. Заголовок: При каком минимально..
цитата: | При каком минимальном натуральном x это возможно? |
| 0 - не натуральное число.
|
|
|
|