69,382
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
#include<math.h>
int main()
{
int a,b,n,i;
int m;
scanf("%d%d",&a,&b);
n = (a<b)?a:b;
for(i = n;i >= 1; i--) {
if(a % i == 0 && b % i == 0) {
printf("最大公约数为: %d\n",i);
break;
}
}
m = (a*b)/i;
printf("最大公倍数为: %d\n",m);
return 0;
}
就你的代码而言主要是语法错误,逻辑咱没问题。#include<stdio.h>
int gcd(int p,int q);
int main(int argc,char **argv){
int q,p;
scanf("%d%d",&p,&q);
printf("最大公约数是%d",gcd(p,q));
return 0;
}
int gcd(int p,int q){
return q>0?gcd(q,p%q):p;
}