Автор | Сообщение |
|
Отправлено: 08.06.22 09:14. Заголовок: №4305(А.Кабанов) не сходятся ответы.
Добрый день. У меня получаются ответы 61 16325. var m: array of integer; a, n, k, i, s, max: integer; begin assign(input, '17-3.txt'); readln(n); setlength(m, n); max := -30000; for i := 0 to n - 1 do begin readln(a); m[ i] := a; end; for i := 0 to n - 3 do if (abs(m[ i] * m[ i + 1] * m[ i + 2]) mod 7 = 0) and (abs(m[ i] + m[ i + 1] + m[ i + 2]) mod 10 = 5) then begin inc(k); s := m[ i] + m[ i + 1] + m[ i + 2]; if s > max then max := s; end; write(k, ' ', max); end.
|
|
|
Ответов - 3
[только новые]
|
|
|
Отправлено: 08.06.22 09:23. Заголовок: readln(n); setl..
readln(n); setlength(m, n); В отличие от 27 задания числа последовательности идут сразу с первого же числа.
|
|
|
|
Отправлено: 08.06.22 11:04. Заголовок: Результат не изменился
Результат не изменился после исправления
|
|
|
|
Отправлено: 09.06.22 10:20. Заголовок: Проблема оказалась х..
Проблема оказалась хитрее. Когда вы считаете произведение происходит переполнение integer var a, n, k, i, s, max: integer; begin var m := OpenRead('17-3.txt').Lines.Select(x->x.toInteger).toList; max := -30000; for i := 0 to m.Count - 3 do begin if ((m[ i] mod 7=0) or (m[i + 1] mod 7=0) or (m[i + 2] mod 7 = 0)) and (abs(m[ i] + m[i + 1] + m[i + 2]) mod 10 = 5) then begin inc(k); s := m[ i] + m[i + 1] + m[i + 2]; if s > max then max := s; end; end; write(k, ' ', max); end.
|
|
|
|