解题思路:首先最大公因数,可以使用阿基米德留下的智慧,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 人评分
指针做法浏览:890 |
2004年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:663 |
十->二进制转换 (C语言代码)浏览:1410 |
C二级辅导-分段函数 (C语言代码)浏览:566 |
C二级辅导-计负均正 (C语言代码)浏览:517 |
C语言程序设计教程(第三版)课后习题8.1 (Java代码)浏览:782 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:590 |
川哥的吩咐 (C++代码)浏览:1016 |
C语言训练-立方和不等式 (C语言代码)浏览:751 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:938 |