C趣味编程百例(13)公约数和最小公倍数

C趣味编程百例(13)公约数和最小公倍数,第1张

C趣味编程百例(13)公约数和最小公倍数,第2张

42.公约数和最小公倍数
求任意两个正整数的公约数和(GCD)和最小公倍数(LCM)
*问题分析及算法设计
手动求两个正整数的最大公约数的方法是使用辗转除法,程序中可以模拟。
*程序和程序注释
# include
void main()
{
int a,b,num1,num2,temp
printf(" Input a & b:");
scanf("%d%d ",&num1,& num 2);
if(num1>num2) /*查找两个数字中较大的一个*/
{
temp = num 1;num1 = num2num2 = temp/*交换两个整数*/
}
a = num 1;b = num2
while(b!=0) /*用相除法求公约数*/
{
temp = a % b;
a = b;
b = temp;
}
printf(" %d和% d的GCD为:%d\n ",num1,num2,a);/*输出公约数*/
printf("它们的LCM是:% d \ n ",num 1 * num 2/a);/*输出最小公倍数*/
}
*运行结果
1。输入A&B:20 55
20和55的GCD为:5
它们的LCM为:220

2.输入a & b:17 71
17和71的GCD为:1
它们的LCM为:1207

3.输入a & b:24 88
24和88的GCD是:8
它们的LCM是:264

4.输入a & b:35 85
35和85的GCD是:5
它们的LCM是:595

*思考题
求一个最小的正整数,这个正整数被任意n(2

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » C趣味编程百例(13)公约数和最小公倍数

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情