Пожалуйста, помогите! Не понимаю даже, как к заданию подступиться. На языке программирования Паскаль написан текст программы. Получив на вход число 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).
Не нашли ответ?
Ответить на вопрос
Похожие вопросы