Проблема с подпоследовательностями арифметической прогрессииPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Проблема с подпоследовательностями арифметической прогрессии

Сообщение Anonymous »

Я думаю, что сейчас у меня ментальный бум, но я не могу найти ответ на эту проблему (я новичок, пожалуйста, не ругайтесь)
Написать программа, которая считывает два целых числа n и r, оба строго больше 1, за которыми следует последовательность целых чисел, и определяет, содержит ли последовательность последовательную подпоследовательность длины не менее n, которая образует арифметическую прогрессию с шагом r.
Последовательная подпоследовательность целых чисел образует арифметическую прогрессию с шагом r, если разница между двумя последовательными числами равна r. Например, 4 5 6 7 — арифметическая прогрессия с r = 1, а 22 33 44 55 66 — арифметическая прогрессия с r = 11.
Если входная последовательность содержит такую ​​прогрессию , программа должна напечатать строку с первыми n элементами прогрессии. В противном случае программа должна указать «Не найдено арифметической прогрессии с шагом r и длиной не менее n».
Ввод
Ввод состоит из двух целых чисел n>1 и r>1, за которыми следует последовательность целых чисел, содержащая не менее 2 элементов.
Вывод
Если подпоследовательность прогрессии с причиной r и длиной не менее n существует, выходными данными являются первые n элементов прогрессии. В противном случае выводится сообщение: «Не найдено арифметической прогрессии с шагом r и длиной не менее n».
Я попробовал дрянную интерпретацию схемы «предыдущий-текущий», но тестер упражнений все равно отмечает его частные тесты дали неправильный ответ...
from yogi import scan

n = scan(int)
r = scan(int)
count = 1
found = False
nl = []
prev = -0.1
curr = scan(int)
while curr is not None:
if curr - prev == r:
nl.append(prev)
nl.append(curr)
count += 1
if count == n:
print(*sorted(set(nl)))
found = True
prev = curr
curr = scan(int)

if not found:
print(f"No arithmetic progression found with step {r} and length at least {n}")


Подробнее здесь: https://stackoverflow.com/questions/793 ... nces-issue
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»