Форум » Обработка целых чисел » Задача № 4271 » Ответить

Задача № 4271

Воронцова: ответ 252 9971, похоже, неправильный. Должен быть 262 9971 ответ 252 получается, если убрать abs в условии. Ошибка связана с тем, что остаток от деления отрицательного числа вычисляется не так, как у положительного. Например, отрицательное число oct(-11) = '-0o13' - оканчивается на 3, но -11%8 = 5 [pre2] f = open('17-1.txt') d = [int(j) for j in f] count = 0 maxn = -10001 for j in range( len(d) - 1): if (d[j]%9 == 0 and d[j + 1]%9 != 0 and abs(d[j + 1])%8 == 3 ) or\ (d[j + 1]%9 == 0 and d[j]%9 != 0 and abs(d[j]%8) == 3 ): count += 1 maxn = max(d[j],d[j+1],maxn) print(count, maxn) [/pre2]

Ответов - 4

Поляков: Воронцова пишет: (d[j + 1]%9 == 0 and d[j]%9 != 0 and abs(d[j]%8) == 3 ): Должно быть так: [pre2](d[j + 1]%9 == 0 and d[j]%9 != 0 and abs(d[j])%8 == 3 ):[/pre2]

Воронцова: *PRIVAT*

Поляков: Воронцова пишет: Поэтому есть подозрение, что указанный ответ на задание - ошибочный- Это неверное подозрение. Постарайтесь понять, какую опечатку в вашей программе я предложил исправить.


Воронцова: Спасибо, увидела опечатку.



полная версия страницы