c語言簡單程序之求兩個數的最小公倍數與最大公約數

2021-12-22 學習中間

收錄於話題 #c語言 7個內容

今天我們來分享一個c語言程序來實現求兩個數之間的最小公倍數與最大公約數,話不多說馬上開始:

#include<stdio.h>

int main()

{

int a, b,s;

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

while (b != 0)//b!=0保證下面的a%b有意義.

{

s = a % b;

a = b;

//把a的值換成與a%b的餘數,再把b的值與a交換並不斷除下去直到a%b==0,當b的值為零從而跳出循環,

b = s;

}

printf("輸入的兩個數的最大公約數為%d",a);

//上述循環結束後a的值就變成二者最大的公約數.

return 0;

}

下面是一次運行結果:

我輸入了12和8最後得到了二者之間的最大公約數4,是不違背事實的也就是說程序是非常正確的由此我們再進行一次運算:

這結果就不用我多說了.

求最大公倍數又多種方法,我們可以在求出最大公約數的前提下,進行進一步操作:

 

int main()

{

int a, b,s,k;

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

k = a * b;

while (b != 0)

{

s = a % b;

a = b;

b = s;

}

printf("輸入的兩個數的最大公約數為%d\n",a);

int v,n;

v = a, n = 1;

n= k / v;

printf("輸入的兩個數的最小公倍數為%d\n", n);

return 0;

}

(利用最小公倍數與最大公約數的關係,即最大公約數與最小公倍數的乘積等於兩個數的乘積)

下面為一次運行結果:

輸出的結果還是很正確的,15和12的最大公約數為3,最小公倍數為60,這是與事實相符合的.

下面是另一種方法求最大公倍數下面請看代碼:

#include<stdio.h>

int main()

{

int a, b,s;

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

if (a > b)

{

for (s = a; s<=b*a; s++)

//從較大的數開始往上增,注意到兩個正整數的最大公倍數不會大於它們的乘積故作此循環.

{

if (s % b == 0 && s % a == 0)

{

printf("輸入的兩個數的最小公倍數為%d", s);

break;//注意找到之後要跳出循環避免結果出錯.

}

}

}

if (a < b)//注釋同上.

{

for (s = b; s <= a * b; s++)

{

if (s % b == 0 && s % a == 0)

{

printf("輸入的兩個數的最小公倍數為%d", s);

break;

}

}

}

return 0;

}

下面我們來看幾次運行結果:

可以見得其與事實相符得...

通過轉化可以將其寫成一個函數.

好了今天得分享就到這了,因為臨近期末考試要複習備考了要不定期休刊了,不過,別擔心我們馬上就能再見的!

願你像他一樣自由♂,無論是哪個方面

一起聽一下八爺的lemon,願我們都不要放棄對生活的希望,總會找到我們的光,

今でもあなたはわたしの光

時至今日 你仍是我的光芒!

最後說一次再見!

相關焦點

  • C語言 | 最大公約數最小公倍數
    「要成為絕世高手,並非一朝一夕,除非是天生武學奇才,但是這種人…萬中無一」這道理放在
  • 如何求N個數的最大公約數和最小公倍數?
    「---- Runsen」❞上次介紹了短除法的因式分解,下面正式進入求解:「兩個及以上個數的最大公約數與最小公倍數」基本要求:求N個數的最大公約數和最小公倍數。用C或C++或java或python語言實現程序解決問題。比如:輸入三個數,分別是12 14 18,最後程序輸出最大公約數2和最小公倍數336。
  • 數學中的最大公約數和最小公倍數
    在數學課中,我們經常會遇到最大公約數和最小公倍數,但是往往很多人在學習中會很苦惱。接下來我們來看一道題:輸入兩個正整數m和n,求其最大公約數和最小公倍數。接下來,我們進行程序分析:(1)最小公倍數=輸入的兩個數之積除於它們的最大公約數,關鍵是求出最大公約數;(2)求最大公約數用輾轉相除法(又名歐幾裡德算法)1)證明:設c是a和b的最大公約數,記為c=gcd(a,b),a>=b,令r=a mod b設a=kc,b=jc,則k,j互素,否則c不是最大公約數據上,r=a-mb=kc-mjc=(k-mj
  • 最小公倍數與最大公約數
    【例】4和64的倍數:4、8、12、16、24、28、32、36、40、44、48…6的倍數:6、12、18、24、30、36、42、48、54…因此,4和6的公倍數是12、24、36、48……公倍數中最小的數,被稱為最小公倍數,而所有的公倍數都是最小公倍數的倍數
  • 【C語言程序設計】C語言求最小公倍數(詳解版)!
    問題描述求任意兩個正整數的最小公倍數(LCM)。
  • 小學奧數最大公約數和最小公倍數訓練A卷
    A.公約數 B.公倍數 C.最大公約數 D.最小公倍數   (2)下列四組數中,兩個數只有公約數1的數是( )。   A.13和91  B.21和51   C.34和51  D.15和28   (3)17是136和476的( )。
  • C 語言最小公倍數
    收錄於話題 #c語言 請編寫程序,輸入兩個整數,計算並輸出它們的輸出最小公倍數。
  • 最大公約數、最小公倍數(分解質因數法)
    最大公約數與最小公倍數是數論裡極其重要的概念,它們的求法和關係是小學數學中的重要考點。今天主要講以下幾點:①分解質因數法求最大公約數與最小公倍數②兩數的積等於最大公約數與最小公倍數的積③短除法求多個數的最小公倍數時的易錯點孩子們都會用短除法求最大公約數、最小公倍數,也知道:兩個數的乘積等於最大公約數與最小公倍數的積。
  • 兩個數的最大公因數即最大公約數是15最小公倍數是90,求這兩個數
    題目兩個數的最大公因數(即最大公約數)是15,最小公倍數是90,求這兩個數分別是多少?普通學生思路:根據「兩個數的最大公因數(即最大公約數)與最小公倍數的乘積等於這兩個數的乘積」可先求出這兩個數的乘積,再把這個積分解成兩個數。
  • 求最小公倍數和最大公因數的方法
    求最小公倍數和最大公因數是小學數學分數中通分和約分中的內容;首先,我們來複習一下它們的定義。最小公倍數:是指在兩個或兩個以上的自然數中,共有倍數的最小的數。最大公因數:也稱最大公約數,最大公因子。指兩個或兩個以上整數中共有約數的最大的數。求最小公倍數和最大公約數的特殊情況:1、倍數關係的兩個數。
  • C語言求最大公約數代碼及解析
    最大公因數,也稱最大公約數、最大公因子,指兩個或多個整數共有約數中最大的一個。a,b的最大公約數記為(a,b),同樣的,a,b,c的最大公約數記為(a,b,c),多個整數的最大公約數也有同樣的記號。求最大公約數有多種方法,常見的有質因數分解法、短除法、輾轉相除法、更相減損法。
  • 小升初數學複習六:(最大)公約數與(最小)公倍數及其具體運用
    公約數及最大公約數:如果某個m整數能同時被若干個整數a,b,c…整除,就稱這個整數m為若干個整數a,b,c…的公約(因)數,這若干個整數a,b,c…的公約數中最大的一個m稱為它們的最大公約數。記(a,b,c…)=m。公倍數及最小公倍數兩個或兩個以上的整數a,b,…,它們的相同的倍數m,n,p…就是它們的公倍數,這些公倍數中最小的一個m稱為這些整數的最小公倍數。即:[a,b,c…]=m。
  • 2017福建招警行測答題技巧:「消減法」求最大公約數和最小公倍數
    2017福建招警行測答題技巧:「消減法」求最大公約數和最小公倍數 如有任何報考疑問,請加入Q群:2017福建招警交流群 243753182,
  • 五年級奧數下第四講 最大公約數和最小公倍數
    第四講 最大公約數和最小公倍數  本講重點解決與最大公約數和最小公倍數有關的另一類問題——有關兩個自然數.它們的最大公約數、最小公倍數之間的相互關係的問題。(證明略)  定理3 兩個數的公約數一定是這兩個數的最大公約數的約數.(證明略)  下面我們就應用這些知識來解決一些具體的問題。例1 甲數是36,甲、乙兩數的最大公約數是4,最小公倍數是288,求乙數.
  • 中M2021秋PTA ​​7-26 最大公約數和最小公倍數 (15 分)
    7-26 最大公約數和最小公倍數 (15 分)本題要求兩個給定正整數的最大公約數和最小公倍數。
  • 小學五年級奧數——最大公約數和最小公倍數
    幾個數公有的約數,叫做這幾個數的公約數;其中最大的一個,叫做這幾個數的最大公約數。自然數a、b的最大公約數可記作(a,b)   幾個數公有的倍數,叫做這幾個數的公倍數;其中最小的一個,叫做這幾個數的最小公倍數。
  • python中兩種求最大公約數和最小公倍數的方法
    這是一種較為簡便的算法,通過判斷兩個數字的大小進行置換,置換後進行求模賦值,當n2參數為假時,n1的值就是最大公約數了,最小公倍數的值通過兩個數相乘在除以最大公約數就可以了。
  • 小升初數學最大公約數和最小公約數練習
    2.a、b兩數的最大公約數是12,已知a有8個約數,b有9個約數,求a與b.   3.兩個數的積是6912,最大公約數是24,求:(1)它們的最小公倍數;(2)滿足已知條件的自然數是哪幾組?   5.求被5除餘2,被6除餘3,被7除4的大於1000、小於1500的所有自然數.   6.某個數與36的最大公約數是12,與36的最小公倍數是180,求這個數.   7.有三個自然數a、b、c,a與b的最大公約數是2;b和c的最大公約數是4;a和c的最大公約數是6;a、b、c三個數的最小公倍數是60,求這三個數的最小的和是多少?
  • 小學奧數最大公約數和最小公倍數訓練C卷
    (3)某數用3除餘2,用7除餘4,用11除餘1,滿足這些條件的最小自然數是( )。   (4)某數去除74、109和165,所得的餘數相同,139與5612的積除以這個數餘( )。   (5)有一個數除以3餘2,除以4餘1,這個數除以12餘( )。
  • 五十七、如何求出兩個數的最小公倍數?
    其實,在我的腦海中,小學的課本上,應該有介紹最小公倍數和最大公約數的關係。「兩個數的乘積等於這兩個數的最大公約數與最小公倍數的乘積」。因此,可以利用兩者的關係求出最小公倍數。只需要對變量進行值的保存即可,那麼求兩個整數的最小公倍數的代碼變得非常簡單。