关于求最大公约数和最小公倍数的的算法
2013-07-02 22:26
295 查看
#include<cstdio> int main() { int a,b,num1,num2,temp; printf("请输入两个整数:\n"); scanf("%d %d",&num1,&num2); if(num1<num2)/*交换两个数,使大数放在num1上*/ { temp=num1; num1=num2; num2=temp; } a=num1;b=num2; while(b!=0)/*利用辗除法,直到b为0为止*/ { temp=a%b; a=b; b=temp; } printf("最大公约数:%d\n",a); printf("最小公倍数:%d\n",num1*num2/a); return 0; }
#include<cstdio> int num1,num2; void swap(int &a,int &b) { if(a<b) { int temp = b; b = a; a = temp; } } int gcd(int a,int b)//greatest common divisor 简称gcd { return (b==0)?a:gcd(b,a%b); } int lcm()//Least Common Multiple,简称lcm { return num1*num2/gcd(num1,num2); } int main() { printf("请输入两个整数:\n"); scanf("%d%d",&num1,&num2); if(num1<num2) swap(num1,num2); printf("最大公约数是:%d\n",gcd(num1,num2)); printf("最大公约数是:%d\n",lcm()); return 0; }
#include<cstdio> int num1,num2; void swap(int &a,int &b) { if(a<b) { int temp = b; b = a; a = temp; } } int gcd(int a,int b)//greatest common divisor 简称gcd { return (b==0)?a:gcd(b,a%b); } int lcm()//Least Common Multiple,简称lcm { return num1*num2/gcd(num1,num2); } int main() { printf("请输入两个整数:\n"); scanf("%d%d",&num1,&num2); if(num1<num2) swap(num1,num2); printf("最大公约数是:%d\n",gcd(num1,num2)); printf("最大公约数是:%d\n",lcm()); return 0; }
相关文章推荐
- 关于最大公约数和最小公倍数的算法(自己写的一个,欢迎大家吐槽)
- 关于C/C++中求最大公约数和最小公倍数的算法
- 两个正数的最大公约数和最小公倍数的两种算法
- 常见的求最大公约数和最小公倍数的算法
- 利用Java求最大公约数与最小公倍数的算法
- 求最大公约数和最小公倍数的三个算法
- 第二十一周【项目: 最小公倍数,最大公约数(算法改进)】
- 求两个数的最大公约数和最小公倍数的算法
- 求多个正整数的最大公约数和最小公倍数的三种算法
- 2..第二篇:常用算法之数学算法-----最大公约数和最小公倍数
- Java最大公约数和最小公倍数的算法!
- 基本算法—最大公约数和最小公倍数
- (算法)辗转相除法求最大公约数和最小公倍数
- 关于最大公约数与最小公倍数的几种题型
- 关于求两个正整数的最大公约数和最小公倍数的此C程序
- 算法第九节:求最大公约数和最小公倍数
- 两个数的最大公约数和最小公倍数的算法
- C++程序设计:求最大公约数和最小公倍数的算法
- 求最大公约数与最小公倍数的算法
- C语言求最大公约数和最小公倍数的几种算法