标签:公倍数 C语言 intger 最大公约数 printf 余数 reminder
C语言—求最大公约数与最大公倍数(辗转相除法)
- 求最大公约数与最大公倍数的思路
最小公倍数与最大公约数的算法:根据 最小公倍数 = 两整数的乘积 / 最大公约数
所以我们只需求出最大公约数即可;
最大公约数的求法(辗转相处法):例有两个整数为 81 72 ;将大数除小数得余数1; 再将小数除余数1得余数2,若余数2为零则余数1为最大公约数;若余数2不为0,则继续上方的步骤;
2.源代码如下:
#include<bits/stdc++.h>
int main()
{
int intger_1,intger_2,reminder_1,t,a,b;
printf("请输入两个整数\n");
scanf("%d%d",&intger_1,&intger_2);
a = intger_1;
b = intger_2;
if(intger_2>intger_1){
t = intger_1;
intger_1 = intger_2;
intger_2 = t;
}//将两个整数以大的在前小的在后的顺序排列
reminder_1 = intger_1 % intger_2;
if(reminder_1 == 0)printf("最大公约数为:%d",intger_2);
while(reminder_1 != 0){
reminder_1 = intger_1 % intger_2;
intger_1 = intger_2;
t = intger_2;
intger_2 = reminder_1;
}
printf("最大公约数为:%d\n",t);
printf("最小公倍数为:%d\n",a*b/t);
return 0;
}
运行结果如下:
标签:公倍数,C语言,intger,最大公约数,printf,余数,reminder 来源: https://blog.csdn.net/linjunjieniubi/article/details/104503330
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。