Найти наибольший общий делитель двух натуральных чисел - Pascal ABC
Формулировка задачи:
Условие:найти наибольший общий делитель двух натуральных чисел a и b.
Решение:
Пишет в строке 9,что операнды имеют неприводимые типы.Как исправить?
Листинг программы
- program Ivan;
- var
- m,z:real;
- 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);
- end.
Решение задачи: «Найти наибольший общий делитель двух натуральных чисел»
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
это количество знаков до запятой. - Наконец, программа просит пользователя ввести еще один раз, чтобы получить второе число.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д