В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
TikhonOFF
TikhonOFF
14.09.2021 08:22 •  Информатика

Максимум на сломанном калькуляторе Петя Торопыжкин познакомился с гипотезой Коллатца: какое бы натуральное число a0 ни взять, последовательность (часто называемая сиракузской ), вычисляемая от выбранного числа по правилу

an+1=an/2, если an — чётное число

an+1=3an+1, если an — нечётное число

обязательно достигнет единицы. Он решил поэкспериментировать с последовательностью: задать начальную величину, вычислить сколько-то первых членов и посмотреть, какого наибольшего значения они достигнут. Только на калькуляторе, на котором он считал, сломался экран, и было видно только три последних разряда получаемых чисел. Поэтому Петя искал максимум из тех чисел, которые он видел. Напишите программу, которая выведет найденный им максимум.

Входные данные

В единственной строке через пробел заданы два целых числа: a0 — начальный член последовательности и k — количество членов, которые вычисляет Петя, то есть индекс последнего вычисленного члена (1≤a0≤107, 0≤k≤104). Гарантируется, что все получаемые члены последовательности не превосходят 109.

Выходные данные C++

Выведите через пробел два целых числа — член последовательности ai, 0≤i≤k, для которого три последние цифры дают максимальное число, и индекс i этого члена. Если таких членов несколько, выведите тот, который имеет больший индекс.

Примеры
Ввод
Вывод
2518 5
1889 3

Показать ответ
Ответ:
Софайа
Софайа
08.07.2020 05:57
Если считать отрицательные трехзначные, то сумма таких чисел в диапазонах от -999 до -100 и от 100 до 999 будет равна 0. Для только положительных:

//c циклом for
var s,i:integer;
begin
  for i:=100 to 999 do
    if i mod 77 = 0 then s:=s+i;
  writeln('Сумма трехзначных кратных 77: ',s);
end.

Тестовое решение:
Сумма трехзначных кратных 77: 5929

// с циклом while
var s,i:integer;
begin
  i:=100;
  while i<=999 do begin
    if i mod 77 = 0 then s:=s+i;
    i:=i+1;
  end;
  writeln('Сумма трехзначных кратных 77: ',s);
end.
0,0(0 оценок)
Ответ:
Tamilla19
Tamilla19
03.11.2020 11:54
1. При использовании палитры из 2^24 цветов для хранения цвета 1 пикселя используется 24 бита = 3 байта.
Пусть количество пикселей в рисунке K, тогда объем памяти, занимаемой одним рисунком = (K*3)/1024 + 128 Кбайт.
X = 8*(K*3/1024 + 128)+2.5*1024
2. При использовании палитры из 2^16 цветов для хранения цвета 1 пикселя используется 16 бита = 2 байта.
Объем памяти, занимаемой одним рисунком = (K*2)/1024 + 128 Кбайт.
X = 20*(K*2/1024 + 128)
8*(K*3/1024 + 128)+2.5*1024 = 20*(K*2/1024 + 128)
К = 65536 (количество пикселей в рисунке)
X = 20*(K*2/1024 + 128) = 20*(65536*2/1024 + 128) Кбайт = 
 20*(128 + 128) Кбайт = 5120 Кбайт = 5120/1024 Мбайт = 5 Мбайт
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота