Статья Автор: Лебедев Дмитрий

Семестровая_май_2024_Задача 3

С клавиатуры вводится последовательность целых чисел, по одному числу на строке. В первой строке вводится натуральное число N - количество чисел. Числа по модулю не превышают 1000. Определите количество пар элементов последовательности, в которых только одно число является простым, и хотя бы одно из чисел оканчивается на 11, если перевести его в четверичную систему счисления. В ответе запишите два числа: сначала количество найденных пар, затем максимальную сумму элементов пары. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

Гарантируется, что хотя бы одна такая пара чисел в файле есть.
Результата выдать на экран на одной строке через пробел.

Пример.
Входные данные:
4
3
53
18
20
Выходные данные:
1 71


Для решения задания удобно написать подпрограмму "проверки числа на простоту" и подпрограмму проверки "окончания числа.
Для проверки "простоты" числа не обязательно писать эффективный код. Можно учесть, что число не более 1000, а значит можно:
def prost(n):
if n< 2 : return 0
for i in range (2,32) :
  if n%i == 0 : return 0
return 1
Для проверки окончания надо понимать, что:
  •  значение последних двух цифр равно n%100
    значит, в условиях задания, нужна проверка n%16 =5 (1004=16, 114=5)
  • проверку надо делать с абсолютным значением числа
Для итоговой проверки лучше использовать суммы возвращаемых значений подпрограмм 
Последовательность будем обрабатывать "на лету", то есть без хранения всех чисел последовательности в списке. 
ВНИМАНИЕ!!! В этой задаче:
Число называется ПРОСТЫМ, если простым является его абсолютное значение.

Пропустить Навигационные Ссылки.
Чтобы оставить комментарий нужна авторизация
Печать