Помогите пожалуйста.Ниже на 5 языках записан алгоритм. Получив на вход число
Помогите пожалуйста.
Ниже на 5 языках записан алгоритм. Получив на вход число x, этот
метод печатает два числа a и b. Укажите меньшее из таких чисел x,
при вводе которых алгоритм печатает сначала 4, а позже 17.
Паскаль;
program B20;
var x, a, b, d: integer;
begin
readln(x);
a := 0; b := 0; d := 0;
while x gt; 0 do
begin
if d mod 2= 0 then
a := a + x mod 10
else
b := b + x mod 10;
x := x div 10;
d:=d + 1
end;
writeln(a); write(b);
end.
Наименьшее число - 8094
Из алгоритма видно, что сначала сопоставляют, четно либо нет число d. Если четно, то берут остаток от деления числа на 10, т.е крайнюю правую цифру числа и суммируют ее с a, если не четно, то суммируют c b. Потом добавляют 1 к d, и получают целую часть от деления x на 10. Т.к вначале d = 0, то можно сделать вывод о том, что в переменной a хранится сумма всех цифр x, которые стоят на нечетных местах, а в переменной b - сумма цифр, стоящих на четных местах(Считая справа, т.к метод работает справа влево). 17 можно получить, если сложить 9 и 8. Таким образом, мы выставляем 9 и 8 на четные позиции, а 4 ставит последней справа, и тогда меж 8 и 9 окажется 0. Так мы получим число 8094
-
Вопросы ответы
Статьи
Информатика
Статьи
Разные вопросы.
Математика.
Физика.
Геометрия.
Разные вопросы.
Обществознание.
Математика.
Химия.
Русский язык.
Разные вопросы.