新聞中心
C語言題目 遞歸計(jì)算兩個正整數(shù)的最大公約數(shù)
#includestdio.h
成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),五華企業(yè)網(wǎng)站建設(shè),五華品牌網(wǎng)站建設(shè),網(wǎng)站定制,五華網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,五華網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
void swap(int *m,int *n){
int t;
if(m n){
t = n;
n = m;
m = t;
}
}
int f(int m,int n){
if(m%n == 0)return n;
else
return f(n,m%n);
}
int main(){
int p = 0,m = 0,n = 0;
printf("請按照由大到小的順序輸入兩個整數(shù),用空格隔開:\n");
scanf("%d%d",m,n);
swap(m,n);
p = f(m,n);
printf("兩個數(shù)的最大公約數(shù)是:%d\n",p);
return 0;
}
C語言題:用遞歸調(diào)用方法編一個函數(shù),求最大公約數(shù)
其實(shí)很簡單 就是利用遞歸
中間存在個遞歸么 就是當(dāng)?shù)谝粋€參數(shù)能被第二個參數(shù)整除 即代碼中的b為零 3目運(yùn)算就把第一個參數(shù)輸出了 那么第二個參數(shù)就是最大公約數(shù)了
然后就是如果無法除盡 第一種情況 a〉b 公約數(shù)肯定是小于b的(小于即a%b模) 然后將(b,a%b)遞歸運(yùn)算,就可以重復(fù)上述過程獲得最大公約數(shù)
第二種 GCD(a,b)中ab就是將 a和b交換了位置遞歸 因?yàn)閍%b肯定為a 所以就相當(dāng)于 GCD(b,a)
C語言,用遞歸函數(shù)求最大公約數(shù)
#includestdio.h
int?gcd(int?a,int?b)
{if(a%b==0)return?b;
return?gcd(b,a%b);
}
int?main()
{int?a,b;
scanf("%d%d",a,b);
printf("%d\n",gcd(a,b));??
return?0;
}
C語言編寫遞歸函數(shù)int gcd(int m,int n),計(jì)算m和n的最大公約數(shù)
#include?stdio.h
int?gcd(int?m,int?n)?{
if(m*n==0)
return?(m==0?n:m);
if(mn)
return?gcd(m%n,n);
else?if(mn)
return?gcd(n%m,m);
}
int?main(void)?{
int?m,n;
printf("請輸入兩個數(shù):\n");
scanf("%d%d",m,n);
printf("其最大公約數(shù)為:\n");
printf("%d\n",gcd(m,n));
return?0;
}
運(yùn)行結(jié)果
網(wǎng)頁名稱:c語言最大公約數(shù)遞歸函數(shù) c語言最大公約數(shù)的函數(shù)
文章來源:http://www.dlmjj.cn/article/ddejgjp.html