Найти НОД чисел. - Turbo Pascal
Формулировка задачи:
Даны два числа ,разделенных пробелом. Найти НОД этих чисел.. Программа должна быть универсальна для любых двух чисел.
Решение задачи: «Найти НОД чисел.»
textual
Листинг программы
- uses crt;
- var a,b,d:integer;
- s:string;
- begin
- clrscr;
- writeln('Введите 2 целых числа через пробел');
- readln(s);
- val(copy(s,1,pos(' ',s)-1),a,d);
- if d<>0 then write('Строка введена неверно, повторите')
- else
- begin
- delete(s,1,pos(' ',s));
- val(s,b,d);
- if d<>0 then write('Строка введена неверно, повторите')
- else
- begin
- repeat
- if abs(a)>abs(b) then a:=a mod b
- else b:=b mod a;
- until(a=0)or(b=0);
- write('Нод=',abs(a+b));
- end;
- end;
- readln
- end.
Объяснение кода листинга программы
- В начале кода подключается библиотека crt, которая содержит функции для работы с числами и строками.
- Переменные a, b и d объявлены как целочисленные.
- Строка вводится пользователем и сохраняется в переменной s.
- Функция val используется для преобразования строки в целое число. Если строка не может быть преобразована в число, выводится сообщение об ошибке.
- Если строка была введена неверно, выводится сообщение об ошибке.
- Если строка была введена правильно, вычисляется наибольший общий делитель (НОД) чисел a и b.
- Если a больше b, то a делится на b, иначе b делится на a.
- Цикл повторяется до тех пор, пока одно из чисел не станет равным нулю.
- Когда одно из чисел становится равным нулю, вычисляется НОД.
- Выводится сообщение с результатом.
- Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д