zl程序教程

您现在的位置是:首页 >  后端

当前栏目

C语言算法:求N个数的最大公约数(改进)

C语言算法 改进 个数 最大公约数
2023-09-27 14:22:46 时间
#include <stdio.h>
long gcd(long a , long b);
int main()
{
	int k , n;
	long x , y , m[100];
	printf("请输入整数的个数n:");
	scanf("%d",&n);
	printf("请依次输入%d个整数:",n);
	for(k = 0 ; k <= n-1 ; k++){
		printf("\n请输入第%d个整数:",k+1);
		scanf("%ld",&m[k]);
	}
	x = m[0];
	for(k = 1 ; k < n-1 ; k++){
		y = m[k];
		x = gcd(x,y);
	}
	printf("(%ld",m[0]);
	for(k = 1 ; k <= n-1 ; k++){
		printf(",%ld",m[k]);
	}
	printf(")=%ld\n",x);
	return 0;
}
long gcd(long a , long b)
{
	long c,r;
	if(a<b){
		c = a;
		a = b;
		b = c;
	}
	r = a%b;
	while(r != 0){
		a = b;
		b = r;
		r = a%b;
	}
	return b;
}