|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Не могу понять, почему выдает ошибку
Задание: алгоритм Евклида нахождения наибольшего общего делителя (НОД) неотрицательных целых чисел основан на следующих свойствах этой величины. Пусть m и n - одновременно не равные нулю целые неотрицательные числа и пусть m>=n. Тогда, если n=0, то НОД(m,n)=m, а если n<>0, то для чисел m, n и r, где r - остаток от деления m на n, выполняется равенство НОД(m,n)=НОД(n,r).
Код:
program Project1; {$APPTYPE CONSOLE} uses SysUtils; var m,n,r:integer; function NOD(m,n:integer):integer; begin try writeln('vvedite m and n'); readln(m,n); while (m>=n)and(NOD(m,n)<>0) do if n=0 then NOD:=m else begin r:=m mod n; m:=n; n:=r; NOD:=NOD(m,n); end; writeln('NOD'); readln; except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; end. |
#2
|
||||
|
||||
Пропущен begin и end; Или тебя надо носом тыкать?
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |