#include<stdio.h> int maxyue(int a,int b) { int c; while(b!=0) { c=a%b; a=b; b=c; } return a; } int maxbei(int a,int b) { int s; s=a/maxyue(a,b)*b/maxyue(a,b)*maxyue(a,b); return s; } int main() { int a,b,s,n; scanf("%d%d",&a,&b); s=maxyue(a,b); n=maxbei(a,b); printf("%d ",s); printf("%d",n); return 0; }
0.0分
0 人评分
#include<stdio.h> //求最大公约数 int fun1(int a,int b) { int i,j; for(i=((a<b)?a:b);i>0;i--) { if(a%i == 0&&b%i == 0) return i; } } //求最小公倍数由 int fun2(int a,int b) { int i,j,c; c = fun1(a,b);//将fun1返回的最大公约数赋给c return j=a*b/c; } int main() { int a,b; int m,n;//m为最大公约数,n为最小公倍数 scanf("%d%d",&a,&b); m=fun1(a,b); n=fun2(a,b); printf("最大公约数=%d \n最小公倍数=%d\n",m,n); return 0; }
c=a%b 不知道这里取余有什么意义。
陈先生 2018-10-19 16:42:22 |
辗转相除法是这样的
c175565011 2018-10-25 16:35:01 |
去整取余