最大公約數(shù)c語言編程函數(shù) 最大公約數(shù) c語言

C語言函數(shù)編寫,求兩個整數(shù)的最大公約數(shù)和最小公倍數(shù)

編寫該程序的整體思路:分別定義最大公約數(shù)函數(shù)和最小公倍數(shù)函數(shù),然后再main函數(shù)里面調(diào)用它。C語言實(shí)現(xiàn)代碼如下:

創(chuàng)新互聯(lián)于2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都做網(wǎng)站、網(wǎng)站設(shè)計網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元天寧做網(wǎng)站,已為上家服務(wù),為天寧各地企業(yè)和個人服務(wù),聯(lián)系電話:028-86922220

#includestdio.h

#includemath.h

int?fun_gy(int,int); ?//聲明最大公約數(shù)函數(shù)

int?fun_gb(int,int); ?//聲明最小公倍數(shù)函數(shù)

main()

{

int?a,b,gy,gb;

printf("輸入兩個整數(shù):\n");

scanf("%d%d",a,b);

gy=fun_gy(a,b); ? //調(diào)用最大公約數(shù)函數(shù)

gb=fun_gb(a,b); ?//調(diào)用最小公倍數(shù)函數(shù)

printf("最大公約數(shù)是:%d\n最小公倍數(shù)是:%d\n",gy,gb);

}

int?fun_gy(int?x,int?y)

{

int?z,i;

if(xy)

z=sqrt(y);

else

z=sqrt(x);

for(i=z;i=1;i--)

{

if(x%i==0y%i==0)

break;

}

return?i;

}

int?fun_gb(int?x,int?y)

{

int?z,i;

z=x*y;

for(i=x;i=z;i++)

{

if(i%x==0i%y==0)

break;

}

return?i;

}

程序運(yùn)行結(jié)果:

擴(kuò)展資料:

這里涉及到了最大公約數(shù)和最小公倍數(shù)的計算方法:

我們知道兩個整數(shù)的最小公倍數(shù)等于他們的乘積除以他們的最大公約數(shù)。所以關(guān)鍵還是最大公約數(shù)的計算。

輾轉(zhuǎn)相除法(求最大公約數(shù)):

假設(shè)求a,b的最大公約數(shù),則:

(1)a除以b取余得c,若c=0,則b即為兩數(shù)的最大公約數(shù),輸出,結(jié)束。

(2)若c? != 0,則將b賦給a,c賦給b再返回上一步操作,繼續(xù)執(zhí)行。

例如,求30和98的最大公約數(shù),過程如下:

90%30 = 8;

30%8 = 6;

8%6 = 2;

6%2 = 0;

所以最大公約數(shù)為2。

用C語言求最大公約數(shù)。

1、新建一個C語言源程序,這里使用Visual C++6.0的軟件:

2、從鍵盤中輸入兩個正整數(shù)a和b。取兩個數(shù)a,b中的較小值存放到變量n中。從兩個數(shù)a和b中的較小數(shù)開始逐個減小1,尋找能整除a和b的整數(shù),第一個找到的整數(shù)即整數(shù)a和b的最大公約數(shù),最后將找到的結(jié)果輸出即可完成程序的編寫:

3、對源程序編譯運(yùn)行,測試輸入4、6,得到最大公約數(shù)2說明程序是正確的,以上就是用c語言求最大公約數(shù)的過程:

C語言程序設(shè)計如何求最大公約數(shù)?

具體操作步驟如下:

一、新建一個C語言源程序,使用Visual C++6.0的軟件。

二、從鍵盤中輸入兩個正整數(shù)a和b。代碼:printf("please input two number:\n");int a,b;scanf("%d%d",a,b)。

三、取兩個數(shù)a,b中的較小值存放到變量n中。代碼:int n=a;if (nb)n=b。

四、從兩個數(shù)a和b中的較小數(shù)開始逐個減小1,尋找能整除a和b的整數(shù)。第一個找到的整數(shù)即整數(shù)a和b的最大公約數(shù)。

五、點(diǎn)擊工具欄的如圖圖標(biāo),對源程序編譯運(yùn)行。

六、測試輸入4,6,得到最大公約數(shù)2。程序是正確的,以測試更多的數(shù)。

七、

上面面步驟是編程的思路,給出完整代碼,方便復(fù)制使用。#includestdio.hvoid main(){printf("please input two number:\n"); int a,b;;scanf("%d%d",a,b);//從鍵盤輸入兩個數(shù) int n=a; ;f (nb) n=b;//取兩個數(shù)中的較小數(shù) for(int i=n;i=1;i--) { if (a%i==0b%i==0) { printf("最大公約數(shù):%d \n",i); break;}}}。

C語言中求最大公約數(shù)的函數(shù)

#include

"stdio.h"

int

main()

{

int

d1,d2,r;

printf("輸入兩個正整數(shù):");

scanf("%d

%d",d1,d2);

do

{

r=d1%d2;

d1=d2;d2=r;

}while(d2!=0);

printf("最大公約數(shù)是:%d",d1);

}

//遞歸法

#include

"stdio.h"

int

fun(int

d1,int

d2)

{

if(d2!=0)

return

fun(d2,d1%d2);

else

return

d1;

}

int

main()

{

int

d1,d2;

printf("輸入兩個正整數(shù):");

scanf("%d

%d",d1,d2);

printf("最大公約數(shù)是:%d",fun(d1,d2));

}

文章名稱:最大公約數(shù)c語言編程函數(shù) 最大公約數(shù) c語言
標(biāo)題URL:http://muchs.cn/article6/ddcgcig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)網(wǎng)站導(dǎo)航、做網(wǎng)站、網(wǎng)站內(nèi)鏈、外貿(mào)建站定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)