解题思路:首先最大公因数,可以使用阿基米德留下的智慧,a和b的最大公因数就是a和a%b的最大公因数,易得之。而最大公倍数是a*b除以最大公因数。
证明:令最大公倍数=a*b×k分之一,k>=1,且a/k,b/k均为整数,现在相当于找k的最大值,那不就是a和b的最大公因数吗?
注意事项:
参考代码:
#include<stdio.h>
int f(int a,int b){
if(a%b==0)\\注意当二者呈现倍数关系时,b就是最大公因数了
return b;
f(b,a%b);
}
int g(int a,int b){
return a*b/f(a,b);\\证明如上啦
}
int main(){
int a,b;
scanf("%d %d",&a,&b);
printf("%d %d",f(a,b),g(a,b));
return 0;
}
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:1015 |
C语言训练-阶乘和数* (C语言代码)-------- 呆板写法浏览:1396 |
C语言训练-大、小写问题 (C语言代码)浏览:649 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:1292 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:583 |
Cylinder (C语言描述+详细分析)浏览:3375 |
1113题解浏览:823 |
1025题解浏览:796 |
蓝桥杯历届试题-翻硬币 (C++代码)浏览:953 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:571 |