Найти наибольший общий делитель двух натуральных чисел - Pascal ABC
Формулировка задачи:
Условие:найти наибольший общий делитель двух натуральных чисел a и b.
Решение:
Пишет в строке 9,что операнды имеют неприводимые типы.Как исправить?
Решение задачи: «Найти наибольший общий делитель двух натуральных чисел»
textual
Листинг программы
program Ivan;
var
z:real;
m : integer;
i,a,b:integer;
begin
writeln('a,b =');
readln(a,b);
if a<b then m:=a else m:=b;
for i:=1 to m do
if (a mod i = 0) and (b mod i = 0) then z:=i;
writeln(z:6:2);
Readln;
end.
Объяснение кода листинга программы
- Программа начинается с объявления переменных
z,m,i,aиb. Переменнаяzявляется вещественным числом, а остальные переменные являются целыми числами. - Затем программа выводит сообщение
a,b =, чтобы пользователь мог ввести два числа. - После ввода чисел, программа проверяет, какое из чисел меньше другого. Если
aменьшеb, то значение переменнойmустанавливается равнымa, иначе значениеmустанавливается равнымb. - Затем начинается цикл
for, который выполняется от 1 доm. В каждой итерации цикла проверяется, делится ли числоaна текущее значениеiбез остатка, и также проверяется, делится ли числоbна текущее значениеiбез остатка. - Если оба условия выполняются, то значение переменной
zустанавливается равнымi. - После завершения цикла, значение переменной
zвыводится на экран в форматеz:6:2, где6это количество знаков после запятой, а2это количество знаков до запятой. - Наконец, программа просит пользователя ввести еще один раз, чтобы получить второе число.