Найти НОД длинного числа - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Ребят, в чём дело? Вот эта программа выводит "da"
И эта программа тоже выводит "da"

Решение задачи: «Найти НОД длинного числа»

textual
Листинг программы
var n,n1:string;
    f:boolean;
    k:integer;
begin
n:='421';
n1:='1211';
if length(n)<>length(n1)then f:=length(n)>length(n1)
else
 begin
  f:=true;
  k:=1;
  while (k<=length(n))and(n[k]=n1[k])do inc(k);
  if (k<=length(n))then f:=n[k]>n1[k];
 end;
if f then writeln('da') else writeln('net');
end.

Объяснение кода листинга программы

  1. Переменные n и n1 объявлены как строки.
  2. Флаг f и переменная k объявлены как boolean и integer соответственно.
  3. Значения переменных n и n1 присвоены строковые значения '421' и '1211'.
  4. В условном операторе if проверяется условие: если длина переменной n отличается от длины переменной n1, то переменная f устанавливается в значение true, иначе в значение false.
  5. В цикле while происходит сравнение символов в строках n и n1. Если символы совпадают, то переменная k увеличивается на 1. Цикл продолжается до тех пор, пока не будет найден символ, который не совпадает в обеих строках.
  6. После цикла while переменная f устанавливается в значение true, если была найдена такая последовательность символов, и в значение false в противном случае.
  7. В зависимости от значения переменной f выводится строка 'da' или 'net'.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.4 из 5
Похожие ответы