Автор | Сообщение |
|
Отправлено: 12.01.22 12:05. Заголовок: Задание 17, задача 204.
Добрый день, возник вопрос к данному заданию, не совпадает ответ, подскажите пожалуйста в чем может быть ошибка в моем алгоритме и как может вообще получиться сумма 23427, если подходящая тройка чисел это два отрицательных числа и одно положительное, согласно условия числа могут принимать значения от -10000 до 10000. Или мной было не верно воспринято задание. {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.
|
|
|
Ответов - 16
, стр:
1
2
All
[только новые]
|
|
|
Отправлено: 12.01.22 14:15. Заголовок: Лаптев Андрей пишет:..
Лаптев Андрей пишет: цитата: | Тройка идущих подряд чисел последовательности называется уникальной, если только второе из них является положительным числом, заканчивающимся на 9. |
| Первое и третье числа могут быть равны нулю, а у вас s1 < 0 and s3 < 0.
|
|
|
|
Отправлено: 12.01.22 14:24. Заголовок: согласен, но на отве..
zachto пишет: цитата: | Первое и третье числа могут быть равны нулю, а у вас s1 < 0 and s3 < 0. |
| согласен, но на ответ в данной задачи это не влияет.
|
|
|
|
Отправлено: 12.01.22 14:45. Заголовок: У вас получается 113..
У вас получается 113 и 6241?
|
|
|
|
Отправлено: 12.01.22 14:59. Заголовок: нет, 63 6241..
нет, 63 и 6241
|
|
|
|
Отправлено: 12.01.22 15:14. Заголовок: Я, в общем, понял см..
Я, в общем, понял смысл условия. Напишу по-питоновски, надеюсь, что вы поймете: def func(x): if x > 0 and x % 10 == 9: return True return False и if func(a2) and not func(a1) and not func(a3): cnt += 1 maxk = max(maxk, a1 + a2 + a3) В общем только для второго числа должно выполняться, что последняя цифра 9 и оно больше нуля. Другие числа, если и больше нуля, то должны иметь не равную 9 последнюю цифру.
|
|
|
|
Отправлено: 12.01.22 15:30. Заголовок: Спасибо, мной не вер..
Спасибо, мной не верно было воспринято условие задачи. Ответы получил, вот код: 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 not ((s1>0) and ((s1 mod 10) = 9)) and not ((s3>0) and ((s3 mod 10) = 9)) 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.
|
|
|
|
Отправлено: 27.01.22 22:03. Заголовок: Как решить это в экселе?
Как решить это в экселе?
|
|
|
|
| Администратор
|
Сообщение: 3245
|
|
Отправлено: 27.01.22 22:32. Заголовок: Елена_В пишет: Как р..
Елена_В пишет: Наверняка решить можно. Строить вспомогательные столбцы, отражающие свойства троек соседних чисел. Но проще программу написать.
|
|
|
|
Отправлено: 27.01.22 22:26. Заголовок: Эксель
Немного уточню мысль, есть ли возможность решить любое 17 задание в эксель? или без программирования не обойтись? Здесь https://kpolyakov.spb.ru/download/ege2022kp.7z - ege17.doc подобного задания не нашла, может где еще? помогите пожалуйста.
|
|
|
|
Отправлено: 11.02.23 23:30. Заголовок: у меня совпало
f = open('17-204.txt') a = [int(x) for x in f] k = [] for i in range(len(a) - 2): if a[i+1] > 0 and abs(a[i+1]) % 10 == 9: if (a[i] < 0 or abs(a[i]) % 10 != 9) and (a[i+2] < 0 or abs(a[i+2]) % 10 != 9): k.append(sum(a[i:i+3])) print(len(k), max(k))
|
|
|
|
Отправлено: 11.02.23 23:30. Заголовок: у меня совпало
f = open('17-204.txt') a = [int(x) for x in f] k = [] for i in range(len(a) - 2): if a[i+1] > 0 and abs(a[i+1]) % 10 == 9: if (a[i] < 0 or abs(a[i]) % 10 != 9) and (a[i+2] < 0 or abs(a[i+2]) % 10 != 9): k.append(sum(a[i:i+3])) print(len(k), max(k))
|
|
|
|
|
Отправлено: 11.02.23 23:30. Заголовок: у меня совпало
f = open('17-204.txt') a = [int(x) for x in f] k = [] for i in range(len(a) - 2): if a[i+1] > 0 and abs(a[i+1]) % 10 == 9: if (a[i] < 0 or abs(a[i]) % 10 != 9) and (a[i+2] < 0 or abs(a[i+2]) % 10 != 9): k.append(sum(a[i:i+3])) print(len(k), max(k))
|
|
|
|
Отправлено: 11.02.23 23:30. Заголовок: у меня совпало
f = open('17-204.txt') a = [int(x) for x in f] k = [] for i in range(len(a) - 2): if a[i+1] > 0 and abs(a[i+1]) % 10 == 9: if (a[i] < 0 or abs(a[i]) % 10 != 9) and (a[i+2] < 0 or abs(a[i+2]) % 10 != 9): k.append(sum(a[i:i+3])) print(len(k), max(k))
|
|
|
|
Отправлено: 11.02.23 23:30. Заголовок: у меня совпало
f = open('17-204.txt') a = [int(x) for x in f] k = [] for i in range(len(a) - 2): if a[i+1] > 0 and abs(a[i+1]) % 10 == 9: if (a[i] < 0 or abs(a[i]) % 10 != 9) and (a[i+2] < 0 or abs(a[i+2]) % 10 != 9): k.append(sum(a[i:i+3])) print(len(k), max(k))
|
|
|
|
Отправлено: 12.06.23 12:08. Заголовок: with open('17-20..
with open('17-204.txt') as f: s = [int(x) for x in f] otv = [] poloh9 = [] for i in range(len(s)): if s[ i] > 0 and s[ i] % 10 == 9: poloh9.append(s[ i]) for x in range(len(s) - 2): if s[x] not in poloh9 and s[x + 1] in poloh9 and s[x + 2] not in poloh9: otv.append(s[x] + s[x + 1] + s[x + 2]) print(len(otv), max(otv))
|
|
|
Ответов - 16
, стр:
1
2
All
[только новые]
|
|