Автор | Сообщение |
|
Отправлено: 17.04.22 15:51. Заголовок: Не сходится ответ к задаче 5067
Здравствуйте. Не сходится ответ к задаче. У меня получается 1356 639 вместо 1318 639 Мне кажется, что код верный: a = [int(x) for x in open('17-288.txt')] ans = [] for i in range(len(a) - 3): d1 = a[ i] d2 = a[i + 1] d3 = a[i + 2] d4 = a[i + 3] if (d1 % 10 == 3 or d2 % 10 == 3 or d3 % 10 == 3 or d4 % 10 == 3) \ and (d1 % 7 != 3 and d2 % 7 != 3 and d3 % 7 != 3 and d4 % 7 != 3): ans.append(max(d1, d2, d3, d4) - min(d1, d2, d3, d4)) print(len(ans), min(ans)) Если мой код не верный, то где? Подскажите, пожалуйста)
|
|
|
Новых ответов нет
[см. все]
|
|
|
| Администратор
|
Сообщение: 3482
|
|
Отправлено: 17.04.22 15:58. Заголовок: Перед тем, как взять..
Перед тем, как взять остаток, не забывайте брать модуль. Там есть отрицательные числа.
|
|
|
|
Отправлено: 17.04.22 17:01. Заголовок: Спасибо. Я об этом п..
Спасибо. Я об этом подумал, но меня остановила мысль о том, что остаток отрицательного числа всё равно число положительное. Хотя остатки разные: -125%7 == 1 125%7 == 6 Почему мы не берем остатки от отрицательных чисел и должны получать остатки от модулей этих чисел? Как из условия задачи это можно понять?)
|
|
|
|
| Администратор
|
Сообщение: 3483
|
|
Отправлено: 17.04.22 23:06. Заголовок: Согласен с замечание..
Согласен с замечанием. Я поправил условие.
|
|
|
|