Ниже записана программа. Получив на вход число x , эта

Ниже записана программа. Получив на вход число x , эта программка печатает два числа, a и b. Укажите величайшее из чисел x, при вводе которых метод печатает поначалу 2, а потом 8.
var x, a, b: longint;
begin
readln(x);
a:=0; b:=0;
while x gt; 0 do begin
a:= a + 1;
b:= b + (x mod 100);
x:= x div 100;
end;
writeln(a); write(b);
end.

Задать свой вопрос
1 ответ

a=2

b=8

цикл произошел два раза из-за a:=a+1

означает x равен от 100 до 9999(при прохождении получаются числа от 0,01 до 0,9999)

сейчас остался b:

b в начале был равен и получил 8 при цикле. mod узнаёт остаток деления на 100 которое прошло 2 раза. посмотрим если выберем 9999

9999(остаток 99) -gt; 99,99(остаток 99+99). вывод: программка под буковкой b вычислила сумма всех двузначных чисел. означает самое наибольшее 800( 8 и 0) т.к. если избрать больше 999 то 1000 это сумма 10 и 0 что не подходит. а нам надобно самое максимальное.

Ответ:800

, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт