最大公約數的計算方法


// 求最大的公約數
//第一種方法:枚舉法
//從1開始每一個數校驗是否為公約數,
//並不斷地更新到最大的數(只需要比較到兩個數較小的數)
#include <stdio.h>
int main ()
{
int a,b;
scanf("%d %d",&a,&b);
int min,ret;
if(a<b)
min=a;
else min=b;
for (int i=1;i<min;i++)
{
if(a%i==0){
if(b%i==0)
{
ret=i;//符合的值就賦值給ret,隨着每次更新就會得到最新的
}
}
}
printf("%d和%d的最大公約數是%d",a,b,ret);


//第二種方法:輾轉相除法
//a%b=t a=t b=t 直至t==0

方法思考:余數為無法被b的倍數抵消的數,再次相除找他們之間的差距,不斷這樣相除就可以找到最小的那個

#include <stdio.h>
int main ()
{
int a,b;
scanf("%d %d",&a,&b);
int t;
while (t!=0)
{
t=a%b;
a=b;
b=t;
}
printf("%d",a);
return 0;

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM