用辗转相除法求最大公约数
#include <stdio.h>
//求两个数的最大公约数
int main()
{
int num1=0,num2=0;
int max=0;
printf("请输入两个不为零的数字:\n");
scanf("%d%d",&num1,&num2);
if(num2>num1)
{
num2=num1^num2;
num1=num1^num2;
num2=num1^num2;
}
if(num1>num2)
{
if(num1%num2==0)
printf("最大公约数为:%d",num2);
else
{
while(num1%num2!=0)
{
max=num1%num2;
num1=num2;
num2=max;
}
printf("最大公约数为:%d",max);
}
}
if(num1==num2)
{
printf("两数相等最大公约数为它本身%d",num1);
}
return 0;
}
最小公倍数的求法直接用(num1*num2)/max即可。
本文出自 “Original_By_Inn” 博客,转载请与作者联系!