1樓:很多很多
1、新建一個c語言源程式,這裡使用visual c++6.0的軟體:
2、從鍵盤中輸入兩個正整數a和b。取兩個數a,b中的較小值存放到變數n中。從兩個數a和b中的較小數開始逐個減小1,尋找能整除a和b的整數,第一個找到的整數即整數a和b的最大公約數,最後將找到的結果輸出即可完成程式的編寫:
3、對源程式編譯執行,測試輸入4、6,得到最大公約數2說明程式是正確的,以上就是用c語言求最大公約數的過程:
2樓:東風冷雪
#include
int zdg(int n);
int main()
int zdg(int n)
return m;}
3樓:水墨塵君
#include
void main()
{int m,n,r,t;
scanf("%d,%d",&m,&n);
if(m
如果有疑問
,歡迎私聊我
c語言如何求最大公約數和最小公倍數
4樓:**ile灬微光丶
#include
int main()
m=a*b;
c=a%b;
while(c!=0)
printf("最大公約數是
:\n%d\n",b);
printf("最小公倍數是:\n%d\n",m/b);
}擴充套件資料演算法思想
利用格式輸入語句將輸入的兩個數分別賦給 a 和 b,然後判斷 a 和 b 的關係,如果 a 小於 b,則利用中間變數 t 將其互換。
再利用輾轉相除法求出最大公約數,進而求出最小公倍數。最後用格式輸出語句將其輸出。
#include是在程式編譯之前要處理的內容,稱為編譯預處理命令。編譯預處理命令還有很多,它們都以「#」開頭,並且不用分號結尾,所以是c語言的程式語句。
5樓:用著追她
1、首先開啟codeblocks,建立一個新專案。專案語言,選擇「c」, 我們將專案名稱命名為「回maxandmin」。
2、創答建好專案後,我們開啟 「main.c」檔案。
3、完成輸入功能其中m和n是輸入的兩個數,num是將來儲存的最大公約數。num的值是由後面我們定義的函式,來賦值的。
4、要強制使用者輸入正確的數for(;;)表示一個死迴圈 同樣使用while(true)也可達到死迴圈效果。
5、接下來,當使用者輸入合法之後。我們就要寫else的情況了。
6、當得到的餘數r不是0,就表示 m和n之間不是倍數關係。那麼我們將m的值改為n,n中從存取r 再次執行r=m%n 。意思就是,反覆的用餘數取模餘數,直到0位置。
就是n中存的就為最大公因數了。
7、接下來執行,我們輸入 6,3 其中3就是最大公因數,6是最小公倍數。
6樓:blue丶小
dev-cpp 5.4 純c語言環境du,通過編譯:
#include
int max(int a,int b)
int min(int a,int b)
int main()
7樓:刀無極啊
#include
int main()
else
res=dividend%divisor;
while(res!=0)//迴圈體是三條語句,不加大回括號迴圈只執行一答條語句
printf("%d",divisor);
}else
printf("error!\n");
return 0;
}兩數相乘除以最大公約數就是最小公倍數
c語言程式設計,求最大公約數
8樓:匿名使用者
#include
void main()
{int zdgy(int m,int n);
int x,y;
printf(
9樓:匿名使用者
#include
#include
int main()
i = a; j = b;
while (j != 0)
printf("最大公約數%d ", i);
printf("最小公倍數%d", (a*b)/i);
printf("\n");
return 0;}
c語言程式設計如何求最大公約數?
10樓:河蟹蛇薈
最大公約數演算法:
(1)輾轉相除法
兩整數a和b:
① a%b得餘數c
② 若c=0,則b即為兩數的最大公約數,結束③ 若c≠0,則a=b,b=c,再回去執行①(2)相減法
兩整數a和b:
① 若a>b,則a=a-b
② 若a③ 若a=b,則a(或b)即為兩數的最大公約數,結束④ 若a≠b,則再回去執行①
(3)窮舉法:
① i= a b中的小數
② 若a,b能同時被i整除,則i即為最大公約數,結束③ i--,再回去執行②
c語言程式設計-求最大公約數
11樓:匿名使用者
把倒數第三句「i=i+1」去掉就可以得到正確的結果了,因為break之後不會執行i--操作了
或者使用輾轉相除的方法:
#include
void main()
temp = a%b;
while(temp)
printf("%d,%d的最大公約數為: %d",m,n,b);
printf("%d,%d的最小公倍數為: %d",m,n,m*n/b);}
12樓:靜楓緣
//輾轉相除法是古希臘求兩個正整數的最大公約數的,也叫歐幾里德演算法,其方法是用較大的數除以較小的數,上面較小的除數和得出的餘數構成新的一對數,繼續做上面的除法,直到出現能夠整除的兩個數,其中較小的數(即除數)就是最大公約數。以求288和123的最大公約數為例,操作如下:288÷123=2餘42 123÷42=2餘3942÷39=1餘3 39÷3=13所以3就是288和123的最大公約數。
//#include
int main()
printf("%d\n",c);
return 0;
13樓:匿名使用者
基本原理如下:
用歐幾里德演算法(輾轉相除法)求兩個數的最大公約數的步驟如下:
先用小的一個數除大的一個數,得第一個餘數;
再用第一個餘數除小的一個數,得第二個餘數;
又用第二個餘數除第一個餘數,得第三個餘數;
這樣逐次用後一個數去除前一個餘數,直到餘數是0為止。那麼,最後一個除數就是所求的最大公約數(如果最後的除數是1,那麼原來的兩個數是互質數)。
例如求1515和600的最大公約數,
第一次:用600除1515,商2餘315;
第二次:用315除600,商1餘285;
第三次:用285除315,商1餘30;
第四次:用30除285,商9餘15;
第五次:用15除30,商2餘0。
1515和600的最大公約數是15。
14樓:匿名使用者
輾轉相除法還是首選的方法啊、它有效的減少了運算的時間複雜度。。
15樓:小童鞋_成
ddddddddddddddd
16樓:
int getcd(int u,int v)
return u;}
17樓:凌風
#include
void main()
{int m,n,k;
printf(
用c語言編寫輾轉相除法求最大公約數
可用遞迴來求。推薦以下 include int int a,int b 求最大公約版數函式void main c語言 用輾轉相除法求最大公約數 編寫c語言程式 int divisor int a,int b 自定義函式求兩數的最大公約數 設定中間變數進行兩數交換 while b 0 通過迴圈求兩數的...
歐幾裡最大公約數用資料結構嗎
設 n0 m0 第一次除完bai後,rem1 n0 m0 min m0,n0 m0 於是 du之zhi後n1 m0,m1 rem1 min m0,n0 m0 n0 2.但是 m1和n1大小關係dao不確定.下分a,b兩種情況討論 專a 如果n1 m1,rem2 n1 m1 min m1,n1 m1 ...
利用fun函式,求m和n的最大公約數
演算法叫輾轉相除法 例如求m,n的最大公約數 m n p.q p是m n的商,q是m n就是m除以n的餘數。然後在讓 m n n q 在作上面的迴圈 m n p.q 如果n為0,則m就是所求的最大公約數。另外題目還利用了一個性質,就是最大公約數 最小公倍數 m n 所以最後才有 printf d d...