Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
jannet
0 / 0 / 0
Регистрация: 27.05.2010
Сообщений: 5
1

рекурсивный НОД

28.05.2010, 14:53. Просмотров 762. Ответов 4
Метки нет (Все метки)

Даны натуральные числа n, m. Найти НОД(n,m), используя рекурсивную процедуру вычислентя Нод, основанную на соотношении НОД(n.m)=НОД(m.r) , r- остаток от деленич n на m

Добавлено через 2 минуты
Pascal
1
2
3
4
5
6
7
8
begin 
If n= m then 
Nod:=n then
else 
id n>m then
Nod;=nod(n-m,m)
else
nod:=nod(n,n-m)
Добавлено через 14 минут
а как с использованием r-?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2010, 14:53
Ответы с готовыми решениями:

НОД
Составить программу для нахождения НОД(наибольшего общего делителя) четырех натуральных чисел с...

НОД
Определите наименьший общий делитель трёх натуральных чисел

НОД
такая вот задача нужно узнать у двух чисел наибольший общий делитель наиболее рациональным...

Рекурсивный спуск
Вводится с клавиатуры непустая последовательность из n положительных, вещественных чисел. Используя...

Максимальный НОД
Задано натуральное число N. Найдите такие числа A и B, что N = A + B и НОД этих чисел максимален. ...

4
Puporev
Модератор
58931 / 44609 / 30787
Регистрация: 18.05.2008
Сообщений: 106,890
28.05.2010, 14:58 2
Цитата Сообщение от jannet Посмотреть сообщение
Найти НОД(n,m), используя рекурсивную процедуру
Это значит в объявлении процедуры должно быть 3 параметра, вероятно третий r.
Pascal
1
2
type natur=1..maxint;
procedure NOD(n,m:natur;var r:natur);
0
jannet
0 / 0 / 0
Регистрация: 27.05.2010
Сообщений: 5
28.05.2010, 15:24  [ТС] 3
спасибо) решила
0
WolfCF
3297 / 1358 / 109
Регистрация: 28.04.2009
Сообщений: 4,823
28.05.2010, 15:57 4
jannet, плииз. поделись решением
0
Puporev
Модератор
58931 / 44609 / 30787
Регистрация: 18.05.2008
Сообщений: 106,890
28.05.2010, 16:15 5
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
uses crt;
type natur=1..maxint;
procedure NOD(n,m:natur;var r:natur);
begin
if n=m then r:=n
else if n>m then NOD(n-m,m,r)
else NOD(m-n,n,r);
end;
var a,b,nd:natur;
begin
clrscr;
repeat
writeln('Введите 2 натуральных числа:');
readln(a,b);
until(a>0)and(b>0);
NOD(a,b,nd);
write('НОД=',nd);
readln
end.
0
28.05.2010, 16:15
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.05.2010, 16:15

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Длинный НОД
Даны два числа. Найти их наибольший общий делитель. Формат входных данных Вводятся два...

НОД 3х чисел
Алгоритм нахождения НОДа трёх чисел:(

НОД и НОК
Народ, помогите! Надо написать программу: Даны два числа а и b. Найти НОД и НОК.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.