重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
編寫該程序的整體思路:分別定義最大公約數函數和最小公倍數函數,然后再main函數里面調用它。C語言實現代碼如下:
創新互聯于2013年創立,是專業互聯網技術服務公司,擁有項目成都做網站、網站設計網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元天寧做網站,已為上家服務,為天寧各地企業和個人服務,聯系電話:028-86922220
#includestdio.h
#includemath.h
int?fun_gy(int,int); ?//聲明最大公約數函數
int?fun_gb(int,int); ?//聲明最小公倍數函數
main()
{
int?a,b,gy,gb;
printf("輸入兩個整數:\n");
scanf("%d%d",a,b);
gy=fun_gy(a,b); ? //調用最大公約數函數
gb=fun_gb(a,b); ?//調用最小公倍數函數
printf("最大公約數是:%d\n最小公倍數是:%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;
}
程序運行結果:
擴展資料:
這里涉及到了最大公約數和最小公倍數的計算方法:
我們知道兩個整數的最小公倍數等于他們的乘積除以他們的最大公約數。所以關鍵還是最大公約數的計算。
輾轉相除法(求最大公約數):
假設求a,b的最大公約數,則:
(1)a除以b取余得c,若c=0,則b即為兩數的最大公約數,輸出,結束。
(2)若c? != 0,則將b賦給a,c賦給b再返回上一步操作,繼續執行。
例如,求30和98的最大公約數,過程如下:
90%30 = 8;
30%8 = 6;
8%6 = 2;
6%2 = 0;
所以最大公約數為2。
1、新建一個C語言源程序,這里使用Visual C++6.0的軟件:
2、從鍵盤中輸入兩個正整數a和b。取兩個數a,b中的較小值存放到變量n中。從兩個數a和b中的較小數開始逐個減小1,尋找能整除a和b的整數,第一個找到的整數即整數a和b的最大公約數,最后將找到的結果輸出即可完成程序的編寫:
3、對源程序編譯運行,測試輸入4、6,得到最大公約數2說明程序是正確的,以上就是用c語言求最大公約數的過程:
具體操作步驟如下:
一、新建一個C語言源程序,使用Visual C++6.0的軟件。
二、從鍵盤中輸入兩個正整數a和b。代碼:printf("please input two number:\n");int a,b;scanf("%d%d",a,b)。
三、取兩個數a,b中的較小值存放到變量n中。代碼:int n=a;if (nb)n=b。
四、從兩個數a和b中的較小數開始逐個減小1,尋找能整除a和b的整數。第一個找到的整數即整數a和b的最大公約數。
五、點擊工具欄的如圖圖標,對源程序編譯運行。
六、測試輸入4,6,得到最大公約數2。程序是正確的,以測試更多的數。
七、
上面面步驟是編程的思路,給出完整代碼,方便復制使用。#includestdio.hvoid main(){printf("please input two number:\n"); int a,b;;scanf("%d%d",a,b);//從鍵盤輸入兩個數 int n=a; ;f (nb) n=b;//取兩個數中的較小數 for(int i=n;i=1;i--) { if (a%i==0b%i==0) { printf("最大公約數:%d \n",i); break;}}}。
#include
"stdio.h"
int
main()
{
int
d1,d2,r;
printf("輸入兩個正整數:");
scanf("%d
%d",d1,d2);
do
{
r=d1%d2;
d1=d2;d2=r;
}while(d2!=0);
printf("最大公約數是:%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("輸入兩個正整數:");
scanf("%d
%d",d1,d2);
printf("最大公約數是:%d",fun(d1,d2));
}