c語言求最小公倍數,c語言求最小公倍數

時間 2021-12-20 09:58:43

1樓:一生何求

1、首先介紹一下求最小公倍數的經典方法:

輾轉相除法

有兩整數a和b:

① a%b得餘數c

② 若c=0,則b即為兩數的最大公約數

③ 若c≠0,則a=b,b=c,再回去執行①a * b除以最大公約數 等於最小公倍數

2、因此原問題也化為最小公倍數和最大公約數一起求了。程式的演算法如下:

#include

int lowest_common_multiple(int m,int n);

int main()

int m,n,c;

printf("請輸入m的值:\n");

scanf("%d",&m);

printf("請輸入n的值:\n");

scanf("%d",&n);

c=lowest_common_multiple( m, n);

printf("請輸出最小公倍數c的值:\n");

printf("%d\n",c);

return 0;

int lowest_common_multiple(int m,int n)

int remainder,m1,n1;

m1=m;

n1=n;

while (n != 0) {

remainder = m % n;

m = n;

n = remainder;

//printf("輸出最大公約數m: %d\n", m); //此時的m為最大公約數

return m1*n1/m;

3、程式的輸出如下:

4、此題註釋的哪一個是輸出最大公約數的。

2樓:1024程式設計師

c語言經典例子之求其最大公約數和最小公倍數

3樓:弄潮兒

**可以編寫如下:

# include

#include

const int max=2000;

int lcm(int m, int n)int main (void)

4樓:幫個忙好不

#include

int main()

}printf("最小公倍數是:%d\n",m*n/i);

return 0;}

5樓:4747哦

#include

main()

for(i=1;i<=a;i++)

if((b*i)%a==0)

printf("%d",k);}

6樓:

#include

#include

main()

i++;

}if(t==0)

else

lcm=a*b;

printf("%d",lcm);

system("pause");

return 0;}

7樓:夏老師問一問

【利用c語言求最小公倍數主要用到if whie迴圈】例子如下:

直接編譯,程式輸出結果中任意輸入兩個數,如5和8,然後按回車,結果如下圖所示:

兩個或多個整數公有的倍數叫做它們的公倍數,其中除0以外最小的一個公倍數就叫做這幾個整數的最小公倍數。

8樓:匿名使用者

#include

#include

int main(void)

m=a;

n=b;

y=a%b;

while(y!=0)

c=b;

d=m*n/c;

printf("最大公約數是:%d\n最小公倍數是:%d\n",c,d);}}}

9樓:匿名使用者

主要是輾轉相除法。

方法一、不設函式

#include

int main ()

p=n*m; //先將n和m的乘積儲存在p中, 以便求最小公倍數時用

while (m!=0) //求n和m的最大公約數

printf("hcf=%d\n",n);

是原來兩個整數的乘積

return 0;}

用c語言編寫程式求兩個數的最小公倍數,並輸出

10樓:

如圖使用輾轉相除法求最小公倍數:

方法步驟:

一、開啟vc2010(或其他c語言編譯器),新建專案-選擇win32為控制檯應用程式-命名-確定

二、選擇原始檔-新增-新建項

三、選擇c++檔案-命名.c-新增

四、輸入如下程式

#include

int main()

int a,b,a,b;

int lol,lpl;

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

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

a=a;

b=b;

if(b)

while((a %= b) && (b %= a));

lol = a+b;

lpl = a*b/lol;

printf ("最小公倍數為:%d\n", lpl);

return 0;

五、按鍵ctrl+f5開始執行(不除錯),輸入兩個整數之間用空格隔開,回車即可得到兩個整數的最小公倍數

11樓:

#include

int main(void)

printf("%d\n", m * n / a);

return 0;

}以上**中a是最大公因數,兩數相乘除以a就是最小公倍數。

12樓:匿名使用者

#include"stdio.h"

void main() {

int a,b;

int i=1,last=1,min=1;

printf("input two numbers split with ','");

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

if(a

13樓:碧海風雲

/*輾轉相除法求最大公約數、最小公倍數*/#include

int main()

執行結果

14樓:戈壁與清潭

#include

#include

int zxgb(int a,int b)int main()

//防止輸入0

printf("%d和%d的最小公倍數是:%d\n",a,b,zxgb(a,b)); //樓上這裡用判斷語句多餘了

return 0;}

15樓:電商法蕭寒

書上有類似的問題,你照貓畫虎

#include

#include

int zxgb(int a,int b)int main()

//防止輸入0

printf("%d和%d的最小公倍數是:%d\n",a,b,zxgb(a,b)); //樓上這裡用判斷語句多餘了

return 0;}

16樓:我的導數大於零

#include

#include

int function(int a,int b) /*求最小公倍數的函式*/

return i;

}int main()

while(m*n==0) //避免輸入兩數之中有0,無法求最小公倍數

printf("%d和%d的最小公倍數是:%d\n",m,n,function(m,n));

return 0;}

17樓:德眾

您好,寫的簡單了點,希望能夠採納

#include

int main()

m=i*j/n;

printf("%d\n",m);

return 0;}

18樓:omy芭比娃娃

最小公倍數為兩個數之積除以他們的最大公約數#include

void main()

c=m*n/a;

printf("最小公倍數為%d\n",c);}

19樓:匿名使用者

用輾轉相除法;

int main()

printf("最大公約:%d\n",nn);

printf("最小公倍:%d\n",m*n/nn);

}else

return 0;}

20樓:那可真是令人作嘔

6471961738713818687371816771

c語言如何求最大公約數和最小公倍數

21樓:smile灬微光丶

#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語言的程式語句。

22樓:用著追她

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是最小公倍數。

23樓:blue丶小

dev-cpp 5.4  純c語言環境du,通過編譯:

#include

int max(int a,int b)

int min(int a,int b)

int main()

24樓:刀無極啊

#include

int main()

else

res=dividend%divisor;

while(res!=0)//迴圈體是三條語句,不加大回括號迴圈只執行一答條語句

printf("%d",divisor);

}else

printf("error!\n");

return 0;

}兩數相乘除以最大公約數就是最小公倍數

c 求最小公倍數,C 多個數求最小公倍數

沒那麼簡單,除了2,還有更大的因子呢?15和9都是奇數,也不能整除,但135不是他們的最小公倍數哦你得排除所有的可能 其實求最小公倍速,等價於求最大公約數 m n 肯定是m n的公倍數,但是不是最小,就要看m和n裡面有沒有共同的因子 如果我們找出m n的最大的共同因子a,即他們的最大公約數那麼m n...

C語言求最大公約數和最小公倍數,c語言如何求最大公約數和最小公倍數

逄榮幹寒煙 編譯通過 include intgongyuemax int a,intb return g void main for i 1 i a c d c d j 找到要的數後要跳出迴圈的 尹人裴任 求最小公倍數的之前 你對j初始化過 j m 第10行 以至於你的while迴圈條件 while...

最小公倍數和最大公倍數怎麼求,最小公倍數怎麼算

48 2 2 2 2 3 72 2 2 2 2 3 3 最小公倍數是144,最大公因數是24.12 2 2 3 48 2 2 2 2 3 最小公倍數是48,最大公因數是12 25 5 5 36 2 2 3 3 最小公倍數 25 36 900 最大公因數是1 33 3 11 161 7 23 最小公倍...