用輾轉相除法求最大公約數
#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” 博客,轉載請與作者聯繫!