最大公因数和最小公倍数怎么求C语言(12 15 20的最小公倍数怎么算)

用C语言编写求最大公因数和最小公倍数的程序?

在visual C++ 6.0上,用C语言编写求最大公因数和最小公倍数的程序。

1打开visual C++ 6.0-文件-新建-文件-C++ Source File。

2输入预处理命令和主函数:#include<stdio.h> /*函数头:输入输出头文件*/void main() /*空类型:主函数*/。

3定义变量、输入数值:int a,b,t,c,d,i,f,r; /*定义变量的数据类型为整型*/printf(“输入两个数,中间用逗号隔开:”); /*输出文字提示*/scanf(“%d,%d”,&a,&b); /*输入两个数字*/。

4if(a<b) /*用if函数比较a、b大小*/ {t=a; /*如果b大于a,则将a,b数值交换*/ a=b; b=t; }c=a;d=b; /*因为下面的程序会改变a,b的数值,所以将未改变的数值赋 给c,d*/。

5计算最大公因数和最小公倍数:while(r!=0) /*用while函数实现辗转相除法*/ {r=a%b; /*当余数为0,停止执行while函数时*/ a=b; /*最大公因数b的值赋给a*/ b=r; } i=c*d; /*将c乘d的值赋给i*/ f=i/a; /*将i除最大公因数a,得到最小公倍数,并将它赋给f*/。

6输出最大公因数和最小公倍数:printf(“最大公因数%dn”,a); /*输出最大公因数*/ printf(“最小公倍数%dn”,f); /*输出最小公倍数*/。

7完整的源代码:#include<stdio.h> /*函数头:输入输出头文件*/void main() /*空类型:主函数*/{ /*函数体*/ int a,b,t,c,d,i,f,r; /*定义变量的数据类型为整型*/ printf(“输入两个数,中间用逗号隔开:”); /*输出文字提示*/ scanf(“%d,%d”,&a,&b); /*输入两个数字*/ if(a<b) /*用if函数比较a、b大小*/ {t=a; /*如果b大于a,则将a,b数值交换*/ a=b; b=t; } c=a;d=b; /*因为下面的程序会改变a,b的数值,所以将未改变的数值赋给c,d*/ while(r!=0) /*用while函数实现辗转相除法*/ {r=a%b; /*当余数为0,停止执行while函数时*/ a=b; /*最大公因数b的值赋给a*/ b=r; } i=c*d; /*将c乘d的值赋给i*/ f=i/a; /*将i除最大公因数a,得到最小公倍数,并将它赋给f*/ printf(“最大公因数%dn”,a); /*输出最大公因数*/ printf(“最小公倍数%dn”,f); /*输出最小公倍数*/}。

12 15 20的最大公约数和最小公倍数是多少?

最大公约数是1,最小公倍数是60。

解析:

15=3×5

12=2x2x3

20=2×2

所以15、12和20的最小公倍数=2x2x3x5=60

这道题该怎么答?请求各位学霸讲解:求440、126、825的最大公因数和最小公倍数。

  • 两个两个求。先求(440,126)440=126×3+62126=62×2+262=2×31所以gcd(440,126)=2∵825没有约数2∴gcd(440,12肠丹斑柑职纺办尸暴建6,825)=1∵lcm[440,126]=(440×126)gcd(440,126)=27720gcd(27720,825):27720=825×33+495825=495×1+330495=330×1+165330=165×2gcd(27720,825)=165∴lcm[27720,825]=(27720×825)gcd(27720,825)=138600∴lcm[440,126,825]=138600

最大公因数和最小公倍数分别怎么求

  • 短除法一目了然

这道题该怎么答?请求各位学霸讲解:求440、126、825的最大公因数和最小公倍数。

  • 两个两个求。先求(440,126)440=126×3+62126=62×2+262=2×31所以gcd(440,126)=2∵825没有约数2∴gcd(440,12肠丹斑柑职纺办尸暴建6,825)=1∵lcm[440,126]=(440×126)gcd(440,126)=27720gcd(27720,825):27720=825×33+495825=495×1+330495=330×1+165330=165×2gcd(27720,825)=165∴lcm[27720,825]=(27720×825)gcd(27720,825)=138600∴lcm[440,126,825]=138600