Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.03.2012, 23:57   #1
Alex893
Новичок
Джуниор
 
Регистрация: 05.03.2012
Сообщений: 1
По умолчанию Алгоритм НОД

Здравствуйте!
Есть алгоритм нахождения НОД многочленов, заданных массивом коэффициентов при степенях аргумента f(x)={an,an-1,...,a0}, где a0 - свободный член, an - коэффициент при старшей степени.
Код:
//упрощенный код
f GCВ(f1,f2)
{
if(f1==f2)return f1;
do
{
div(f1,f2,q,r);//g- частное, r- остаток
if(f1!=r){g=f1;return g;}
if(r==0){g=f2;}
else
{
f1=f2;
g=f2;
}
}while(r);
return g;
}
В чем ошибка в алгоритме?

Последний раз редактировалось ACE Valery; 06.03.2012 в 00:22.
Alex893 вне форума Ответить с цитированием
Старый 06.03.2012, 01:34   #2
Dr. Neo
Пользователь
 
Регистрация: 21.02.2012
Сообщений: 16
По умолчанию

Проще переписать:
Код:
#include <iostream>
#include <math.h>
#include <locale>

using namespace std;

int nod(int n, int m)
{ int r;
  for (;;)
	{
	r=m%n;
	if (r==0) break;
	else m=n, n=r;
	}
return n;
}

void main ()
{   setlocale(LC_CTYPE, "russian");
	int a,b;
	cout<<"Введите числитель"<<endl;;
	cin>>a;
	cout<<"Введите знаменатель"<<endl;
	cin>>b;
	if (b==0) {cout<<"Введите не нулевой знаменатель"<<endl; system ("PAUSE");}
	if (a<0||b<0) a*=-1, b*=-1;
cout<<"НОД равен "<<nod (a,b)<<endl;
system ("PAUSE");
}
Dr. Neo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
НОД (делфи) RIOs Помощь студентам 4 28.12.2011 22:48
Расширенный алгоритм Евклида для нахождения НОД. Fantom.as Помощь студентам 5 15.11.2010 14:59
Нод 32 KompKsena Безопасность, Шифрование 3 27.12.2009 18:38
Алгоритм Евклида.Нахождение НОД innaa639 Помощь студентам 11 24.11.2009 00:17