标签:num1 temp 公倍数 最小 余数 num2 公因数
#include <stdio.h>
//运用辗转相除法求两个数的最大公因数和最小公倍数
//以除数和余数反复做除法运算,当余数为 0 时,取当前算式除数为最大公约数
int main()
{
int a, b, temp, num1, num2;
printf("请输入两个整数:");
scanf("%d%d", &num1, &num2);
if(num1 < num2)
{
temp = num1;
num1 = num2;
num2 = temp;
} //保证前一个数为较大的数
a = num1;
b = num2;
while(b != 0)
{
temp = a % b; //较大的数除以较小的数。若余数不为0,则将余数和较小的数构成新的一对数,继续执行。
a = b; //直到大数被小数除尽,此时较小的数(即此时的除数)就是原来两个数的最小公因数
b = temp;
}
printf("该数的最大公因数为:%d\n", a);
printf("该数的最小公倍数为:%d", num1*num2/a);//数学关系:最大公因数*最小公倍数==num1*num2
return 0;
}
标签:num1,temp,公倍数,最小,余数,num2,公因数 来源: https://blog.csdn.net/Shao_yihao/article/details/112912265
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。