关于求最大公约数和最小公倍数的的算法
来源:互联网 发布:淘宝双11营业额2017 编辑:程序博客网 时间:2024/05/18 02:23
#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;}