Все фрагменты делают примерно одно и то же, для примера посмотрим на Паскаль. Там много разных вещей, которые мешают понять, что же делает алгоритм: описание переменных, ввод-вывод и т.д. По сути интересует нас прежде всего этот фрагмент:
L := 0; M := 0; --- L и M изначально нули
while x > 0 do --- пока x > 0
begin
L : = L + 1; --- L увеличиваем на 1
x := x div 10; --- div - это целая часть от деления. По сути, тут у x отбрасывается последняя цифра
if L mod 2 = 1 then --- mod - это остаток от деления. L mod 2 = 1 означает, что остаток от деления L на 2 равен 1, полностью строчка значит "если L нечётное"
M := M + (x mod 10); --- к M прибавляют последнюю цифру x
end;
Если немного подумать над этим, можно понять, что в L после выполнения фрагмента лежит количество цифр, а в M - сумма цифр, стоящих в четных (начиная справа) местах.
В программе написано так:
var (...) - описание переменных, нам не очень интересно
begin
readln(x); --- считывается x
(кусок, который уже разобрали)
writeln(L); --- вывод L и переход на новую строку
write(M); --- вывод M.
end.
Теперь условие можно переписать так:
Чему равно минимальное число с количеством цифр 3 и суммой цифр на четных местах 7?
170
Объяснение:
Все фрагменты делают примерно одно и то же, для примера посмотрим на Паскаль. Там много разных вещей, которые мешают понять, что же делает алгоритм: описание переменных, ввод-вывод и т.д. По сути интересует нас прежде всего этот фрагмент:
L := 0; M := 0; --- L и M изначально нули
while x > 0 do --- пока x > 0
begin
L : = L + 1; --- L увеличиваем на 1
x := x div 10; --- div - это целая часть от деления. По сути, тут у x отбрасывается последняя цифра
if L mod 2 = 1 then --- mod - это остаток от деления. L mod 2 = 1 означает, что остаток от деления L на 2 равен 1, полностью строчка значит "если L нечётное"
M := M + (x mod 10); --- к M прибавляют последнюю цифру x
end;
Если немного подумать над этим, можно понять, что в L после выполнения фрагмента лежит количество цифр, а в M - сумма цифр, стоящих в четных (начиная справа) местах.
В программе написано так:
var (...) - описание переменных, нам не очень интересно
begin
readln(x); --- считывается x
(кусок, который уже разобрали)
writeln(L); --- вывод L и переход на новую строку
write(M); --- вывод M.
end.
Теперь условие можно переписать так:
Чему равно минимальное число с количеством цифр 3 и суммой цифр на четных местах 7?
Очевидно, минимально возможное число 170.