Страница 1 из 1
Pascal - Вычислить НОД!
Добавлено: 10 сен 2008, 19:09
Dimo4ik
Вычислить с - наибольший общий делитель натуральных чисел a и b
Помогите плз...
Re: Pascal - Вычислить НОД!
Добавлено: 10 сен 2008, 19:33
Alex_Burn
[Syntax='Pascal']
program nod;
uses crt;
var a,b:longint;
function NOD(x,y:longint):longint;
begin
if x<>0 then NOD:= NOD(y mod x,x) else NOD:= y;
end;
Begin
Clrscr;
Writeln('Введите a и b: ');
Write('a = '); Readln(a);
Write('b = '); Readln(b);
Writeln('НОД ',a,' и ',b,' = ', NOD(a,b));
Readkey;
End.
[/Syntax]
Re: Pascal - Вычислить НОД!
Добавлено: 10 сен 2008, 23:11
Dimo4ik
function NOD(x,y:longint):longint; - Эту строку можно как нибудь заметить?
И паскаль у меня тупит...
Да...Скиньте ещё плз нормальный Паскаль 7.0 (
Dimon9107@yandex.ru)
Или ссылочку выложите.
Re: Pascal - Вычислить НОД!
Добавлено: 11 сен 2008, 08:56
Serge_Bliznykov
лучше заменить первую строчку - вместо program nod; напишите,
например,
program NodFind;
ну, или вообще можно выкинуть эту строку. По стандарту Паскаля она обязательна,
но TurboPascal скушает и так... :-)
Alex_Burn, паскаль не допускает одинаковых идентификаторов!
Даже если это идентификатор программы ;-)
Re: Pascal - Вычислить НОД!
Добавлено: 11 сен 2008, 09:15
Oleg_Rus
также есть метод через while. т.е. пока а или b больше 0, то выполняй деление а на бэ... что-то в этом роде. (метод архимеда, что ли называется)
Re: Pascal - Вычислить НОД!
Добавлено: 11 сен 2008, 15:42
Alex_Burn
Serge_Bliznykov писал(а):
Alex_Burn, паскаль не допускает одинаковых идентификаторов!
Даже если это идентификатор программы ;-)
Извиняюсь.

Re: Pascal - Вычислить НОД!
Добавлено: 11 сен 2008, 17:31
Dimo4ik
Ды я заметил это!
Мне бы вот точно узнать метод Архимеда?!
Нужно просто без функции как то сделать...
Re: Pascal - Вычислить НОД!
Добавлено: 11 сен 2008, 19:29
Dimo4ik
Всё народ...во всём разобрался.
Благодарю всех за помошь!