В цикле описан алгоритм Евклида: пока числа не равны, из большего вычитается меньшее. Известно, что в результате работы алгоритма Евклида получается наибольший общий делитель двух чисел.
Здесь ищется НОД чисел L = x - 18 и M = x + 36, и должно получиться 9. Если x - 18 делится на 9, то и x делится на 9. Наименьшее число, большее 100 и делящееся на 9, - это 108.
Для решения была использована программа на Паскале, которая будет ниже. Её суть заключается в переборе чисел от 1000 до 9999. с операции mod ищется остаток от деления на 10(т.е крайняя цифра), с операции div при делении на 1000 берёт первое число, и сравнивает их. Если цифры совпадают, она добавляет один в "общую копилку", т.е простой счётчик. В результате программа вывела 900.
117
Объяснение:
В цикле описан алгоритм Евклида: пока числа не равны, из большего вычитается меньшее. Известно, что в результате работы алгоритма Евклида получается наибольший общий делитель двух чисел.
Здесь ищется НОД чисел L = x - 18 и M = x + 36, и должно получиться 9. Если x - 18 делится на 9, то и x делится на 9. Наименьшее число, большее 100 и делящееся на 9, - это 108.
Проверяем:
L = 108 - 18 = 90 = 5 * 18
M = 108 + 36 = 144 = 8 * 18
Нехорошо, НОД равен 18, а не 9.
Берём следующее делящееся на 9 число, x = 117:
L = 117 - 18 = 99 = 11 * 9
M = 117 + 36 = 153 = 17 * 9
Подходит, НОД(L, M) = 9
900
Объяснение:
Для решения была использована программа на Паскале, которая будет ниже. Её суть заключается в переборе чисел от 1000 до 9999. с операции mod ищется остаток от деления на 10(т.е крайняя цифра), с операции div при делении на 1000 берёт первое число, и сравнивает их. Если цифры совпадают, она добавляет один в "общую копилку", т.е простой счётчик. В результате программа вывела 900.
program znania;
uses crt;
var a, b:Integer;
begin
for a := 1000 to 9999 do
begin
if (a mod 10)=(a div 1000) then
b:=b+1;
end;
writeln(b);
readln;
end.