Вопрос задан 25.07.2026 в 14:42.
Предмет Информатика.
Спрашивает Гулян Инесса.
Срочно С++
Итерационный процесс
Итерационный процесс задается следующими формулами
an+1=an/2
, если an
— чётное число
an+1=3an+1
, если an
— нечётное число
Для заданой начальной величины вам необходимо вычислить заданное количество первых членов и посмотреть, какого наибольшего значения достигнут три последних разряда получаемых чисел. Напишите программу, которая выведет найденный максимум.
Формат входных данных
В единственной строке через пробел заданы два целых числа: a0
— начальный член последовательности и k
— количество членов, которые надо вычислить, то есть k
— индекс последнего вычисленного члена (1≤a0≤107
, 0≤k≤104
).
Для считывания данных из одной строки в языке Python можно использовать конструкцию:
a, k = map(int, input().split())
Гарантируется, что все получаемые члены последовательности не превосходят 109
.
Формат выходных данных
Выведите через пробел два целых числа — член последовательности ai
, 0≤i≤k
, для которого три последние цифры дают максимальное число, и индекс i
этого члена. Если таких членов несколько, выведите тот, который имеет больший индекс.
Ввод
Вывод
1996 400
998 1
Ответы на вопрос
Отвечает Марчик Егор.
#include <iostream>
using namespace std;
int main() {
long long a0, k;
cin >> a0 >> k;
long long a = a0;
long long max_val = a;
int max_mod = a % 1000;
int max_idx = 0;
for (int i = 1; i <= k; ++i) {
if (a % 2 == 0) {
a /= 2;
} else {
a = 3 * a + 1;
}
int mod = a % 1000;
if (mod >= max_mod) {
max_mod = mod;
max_val = a;
max_idx = i;
}
}
cout << max_val << " " << max_idx << endl;
return 0;
}
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

