C语言,输入N个整数,输出他们的最大公约数和最小公倍数。
展开全部
#include<stdio.h>
int gcd(int a,int b)// 辗转相除法求最大公约数 迭代
{
return b==0?a:gcd(b,a%b);
}
int main()
{
int N,i;
int gcdres,lcmres;
int input[100];
printf("输入正整数N:\n");
scanf("%d",&N);
printf("输入N个整数:\n");
for(i = 0;i<N;i++)
scanf("%d",input+i);
gcdres =lcmres = input[0];
for(i = 1;i<N;i++)
{
gcdres = gcd(gcdres,input[i]);
lcmres = lcmres*input[i]/gcd(lcmres,input[i]);
}
printf("最大公约数为:%d\n",gcdres);
printf("最小公倍数为:%d\n",lcmres);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询