cinta作业二

cinta作业二,第1张

cinta作业二

#1、给出Bezout定理的完整证明。

#2、实现GCD算法的迭代版本。

#include 
using namespace std;
int gcd(int a,int b)
{
	int temp=0;
	while(b!=0)
	{	
		temp = a;
		a = b;
		b = temp % a;
	}
	return a;
}

int main()
{
    int gcd(int a,int b); 
	int a=18;
	int b=9;
	cout<<"a=18	b=9"< 

#3、实现EGCD算法。输入:a、b两个整数,输出:r、s、d三个整数,满足ar + bs =d。

#include 
using namespace std;
int egcd(int a,int b,int *result)
{
	if (a>a;
	cin>>b;
	egcd(a,b,result);
	cout<<"系数r:"< 

#4、实现一种批处理版本的GCD算法,即,给定一个整数数组,输出其中所有整数的最大公因子。输入:一个整数数组a;输出:一个整数d,是a数组中所有整数的最大公因子。

#include 
using namespace std;
int gcd(int arr[],int n)
{
	int d;
	if (arr[0] < arr[1])
	{
		int tmp = arr[0];
		arr[0] = arr[1];
		arr[1] = tmp;
	}
	while (arr[1] != 0)
	{
		arr[0] = arr[0] % arr[1];
		int tmp = arr[0];
		arr[0] = arr[1];
		arr[1] = tmp;
	}
	d = arr[0];
	for (int i = 2; i < n; i++)
	{
		if (d < arr[i])
		{
			int tmp = arr[i];
			arr[i] = d;
			d = tmp;
			
		}
		while (arr[i] != 0)
		{
			d = d % arr[i];
			int tmp = d;
			d = arr[i];
			arr[i] = tmp;
		}
 
	}
	return d;
}
int main()
{
	int gcd(int arr[],int n);
	int n;
	cout <<"请输入数组的元素个数:"<< endl;
	cin>>n;
	int *p = new int[n];
for (int i = 0; i < n; i++)
	{
		cin>>p[i];
	}
	cout <<"最大公因数为:"<					
										


					

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zaji/5702299.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存