Форум » Обработка целых чисел » Задание 17, задача 204. » Ответить

Задание 17, задача 204.

Лаптев Андрей: Добрый день, возник вопрос к данному заданию, не совпадает ответ, подскажите пожалуйста в чем может быть ошибка в моем алгоритме и как может вообще получиться сумма 23427, если подходящая тройка чисел это два отрицательных числа и одно положительное, согласно условия числа могут принимать значения от -10000 до 10000. Или мной было не верно воспринято задание. [pre2] {204) (П. Финкель) В файле 17-204.txt содержится последовательность целых чисел, которые принимают значения от -10000 до 10000 включительно. Тройка идущих подряд чисел последовательности называется уникальной, если только второе из них является положительным числом, заканчивающимся на 9. Определите количество уникальных троек чисел, а затем – максимальную из всех сумм таких троек. ОТВЕТ: 206 23427} var a:text; s1,s2,s3,s,c:integer; begin s:=-30000; c:=0; assign (a,'D:\17data(1)\17-204.txt'); reset (a); read (a,s1); read (a,s2); while not EOF(a) do begin read (a,s3); if (s2>0) and ((s2 mod 10) = 9)and (s1<0) and (s3<0) then begin c:=c+1; if s<(s1+s2+s3) then s:=s1+s2+s3; end; s1:=s2; s2:=s3; end; close (a); writeln (c,' ', s); end. [/pre2]

Ответов - 16, стр: 1 2 All

Ж: s=[int(c) for c in open('c:/17-204.txt')] tr=[(s+s[i+1]+s[i+2]) for i in range(len(s)-2) if s[i+1]>0 and abs(s[i+1])%10==9 and sum(s[j]>0 and abs(s[j])%10==9 for j in [i,i+2])==0 ] print(len(tr), max(tr))



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