Пожалуйста, помогите! Не понимаю даже, как к заданию подступиться. На языке программирования Паскаль написан текст программы. Получив на вход число x, этот алгоритм печатает два числа a и b. Укажите наименьшее из таких чисел x...
Пожалуйста, помогите! Не понимаю даже, как к заданию подступиться.
На языке программирования Паскаль написан текст программы. Получив на вход число x, этот алгоритм печатает два числа a и b. Укажите наименьшее из таких чисел x, при котрых алгоритм печатает сначала 3, а потом 7.
var x, a, b: integer;
begin
readln(x);
a:=0; b:=0;
while x>0 do
begin
a:=a + 1;
b:=b + (x mod 10);
x:=x div 10;
end;
writeln(a); write(b);
end.
Ответ(ы) на вопрос:
Для начала стоит понять, что делает программа. При выполнении данного алгоритма из числа х пошагово выделяется последний разряд (последняя цифра числа х) и данная цифра суммируется к числу b. Число а содержит количество разрядов (количество цифр) в числе х.
Задача: получить a = 3, b = 7
Для этого необходимо взять трехзначное число, сумма цифр которого равна 7, наименьшее подходящее число - 106 (Число должно быть трехзначное - значит меньше 100 оно быть не может, но оно должно быть как можно ближе к 100, поэтому, например, число 115 не подойдет, т.к. по заданию нужно указать наименьшее из подходящих чисел, т.е. 106).
Не нашли ответ?
Похожие вопросы