на сломанном калькуляторе Петя Торопыжкин познакомился с гипотезой Коллатца: какое бы натуральное число a0 ни взять, последовательность (часто называемая сиракузской ), вычисляемая от выбранного числа по правилу
an+1=an/2, если an — чётное число
an+1=3an+1, если an — нечётное число
обязательно достигнет единицы. Он решил поэкспериментировать с последовательностью: задать начальную величину, вычислить сколько-то первых членов и посмотреть, какого наибольшего значения они достигнут. Только на калькуляторе, на котором он считал, сломался экран, и было видно только три последних разряда получаемых чисел. Поэтому Петя искал максимум из тех чисел, которые он видел. Напишите программу, которая выведет найденный им максимум.
Входные данные
В единственной строке через пробел заданы два целых числа: a0 — начальный член последовательности и k — количество членов, которые вычисляет Петя, то есть индекс последнего вычисленного члена (1≤a0≤107, 0≤k≤104). Гарантируется, что все получаемые члены последовательности не превосходят 109.
Выходные данные
Выведите через пробел два целых числа — член последовательности ai, 0≤i≤k, для которого три последние цифры дают максимальное число, и индекс i этого члена. Если таких членов несколько, выведите тот, который имеет больший индекс.
Примеры
Ввод
Вывод
2518 5
1889 3
156
473
Ответы на вопрос:
var j, k, l, m : word; a : array [0..27] of integer; {27 потому что максимальная сумма трех цифр 27, т.е. 9+9+9} begin clrscr; writeln ('счастливый билет'); for j: =1 to 27 do a[j]: =0; for j: =0 to 9 do for k: =0 to 9 do for l: =0 to 9 do a[j+k+l] : = a[j+k+l] + 1; m : = 0; for j: =0 to 27 do m : = m + a[j]*a[j]; writeln(m); readln; {это чтобы увидеть результат} end. а если требуется все-таки "лобовое", то можно так m : = 0; for k: =0 to 999999 do begin str(k, ss); ss : = copy('000000', 1, 6 - length(ss)) + ss; {дополняем слева нулями при необходимости} if (ord(ss[1])-48+ord(ss[2])-48+ord(ss[3])-48) = (ord(ss[4])-48+ord(ss[5])-48+ord(ss[6])-48) then inc(m); end; остальное сами.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
05NARIMAN0525.08.2020 13:40
-
OlyaSara01.02.2023 21:51
-
Yuiyuii14.04.2020 08:54
-
vasylyna94609.06.2023 17:00
-
halilappazov02.09.2022 00:49
-
Миша7504040619.10.2021 21:00
-
mkovalenko73006.01.2021 10:46
-
SolkePT14.10.2020 11:58
-
настя758527.12.2021 01:09
-
polimur924.11.2020 16:04
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.