c語言,輸入倆個正整數n和m,求其最大公約數和最小公倍數

2021-05-04 15:08:10 字數 5584 閱讀 7339

1樓:

# include

# include

int main()

printf("兩個數的最大公約數為:%d", i);

}else

printf("兩個數的最大公約數為:%d", i);

}if (m > n)

printf("兩個數的最小公倍數為:%d", c);

}else

printf("兩個數的最小公倍數為:%d", c);

}return 0;}

2樓:

#include

void main()

}printf("最大公約數為1,最小公倍數為%d\n",a*b);return 0;

}給你來個最簡單的吧

3樓:同桌喜歡徐良

#include

int main()

t=n%m;

n=m;

m=t;

}z=w/n;

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

return 0;}

4樓:匿名使用者

#include

int main()

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

for (k = 1; k >= 1; k++)printf("最小公倍數:%d\n",i);}

5樓:匿名使用者

更簡單的!

#include

void main()

return 0;}

c語言程式設計:輸入兩個正整數m和n,求其最大公約數和最小公倍數。

6樓:冠夏登溪

用了一種比bai較笨的方法,du但是好理解zhi,希望對你有幫助dao

。#include

void

main()

//這個函式用於求最小公倍數

intmin_num(int

x,int

y)returni;}

//這個函式用於求最大公約數

intmax_num(int

x,int

y)returni;}

7樓:i樂於助人

#include

int main()

printf("greatest common divisor: %d\n", n_cup);

printf("lease common multiple : %d\n", m * n / n_cup);

} else printf("error!\n");

return 0;}

8樓:蘭昂位力

#include

using

namespace

std;

intmain()

c語言程式設計,輸入兩個正整數m和n,求其最大公約數和最小公倍數

9樓:匿名使用者

main()

p=n*m;//p是原來兩個數n,m的乘積.

while(m!=0)//求兩個數n,m的最大公約數.

printf("its maxgongyueshu:%d\n",n);//列印最大公約數.

printf("its mingongbeishu:%d\n",p/n);列印最小公倍數.

基本原理如下:

用歐幾里德演算法(輾轉相除法)求兩個數的最大公約數的步驟如下:

先用小的一個數除大的一個數,得第一個餘數;

再用第一個餘數除小的一個數,得第二個餘數;

又用第二個餘數除第一個餘數,得第三個餘數;

這樣逐次用後一個數去除前一個餘數,直到餘數是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。

兩個正整數的最小公倍數=兩個數的乘積÷兩個數的最大公約數

由於兩個數的乘積等於這兩個數的最大公約數與最小公倍數的積。這就是說,求兩個數的最小公倍數,可以先求出兩個數的最大公約數,再用這兩個數的最大公約數去除這兩個數的積,所得的商就是兩個數的最小公倍數。

例 求105和42的最小公倍數。

因為105和42的最大公約數是21,

105和42的積是4410,4410÷21=210,

所以,105和42的最小公倍數是210。

10樓:匿名使用者

int m,n,r,a,b;

b=m*n;

while(n!=0)

a=m;

b=b/a;

a是最大公約數b是最小公倍數,程式輸入輸出自己寫。

最大公約數用的是歐幾里德演算法,最小公倍數為兩數相乘除以最大公約數。

11樓:匿名使用者

#include

void main ()

printf ("最大公約數是%d\n", m);//上面的演算法n=0時m這時的值就是最大公約數

printf ("最小公倍數是%d\n", p/m);//兩數的積除以最大公約數就是最小公倍數了

return 0; }

12樓:小張

#include

int main()

printf("greatest common divisor: %d\n", n_cup);

printf("lease common multiple : %d\n", m * n / n_cup);

} else printf("error!\n");

return 0;

} 不懂再問我。。。

13樓:手機使用者

輸入一行字元,分別統計出其中英文字母,空格,數字和其他的個數

用c語言編寫程式:輸入兩個正整數m,n.求其最大公約數和最小公倍數

14樓:匿名使用者

#include "stdio.h"

void main()

15樓:林柯伊南

#include"stdio.h"

main()

while (m%n!=0)

a=a/n;b=b/n;q=a*b*n;

printf("兩數最大公約數為

%d,最小公倍數為 %d\n",n,q);}

16樓:匿名使用者

if (n>m)

while (m%n)

演算法就是用輾轉相除法求最大公約

數演算法描述:

m對n求餘為a, 若a不等於0

則 m <- n, n <- a, 繼續求餘否則 n 為最大公約數

17樓:桔聚聚

還要考慮如果m/n等於零的情況

c語言程式設計,輸入兩個正整數m和n,求其最大公約數和最小公倍數?

18樓:匿名使用者

#include

int main()

a = num1;

b = num2;

while(b!=0)

printf("gongyueshu:%d\n",a);

printf("gongbeishu:%d\n",num1*num2/a);

}擴充套件資料:

c語言迴圈控制語句

一、while語句

1、計算while後面括號裡表示式的值,若其結果非內0,則轉容入2,否則轉3

2、執行迴圈體,轉1

3、退出迴圈,執行迴圈體下面的語句。

由於是先執行判斷後執行迴圈體,所以迴圈體可能一次都不執行。

二、do...while語句

1、執行迴圈體,轉2

2、計算while後面括號裡表示式的值,若其結果非0,則轉入1,否則轉3

3、退出迴圈,執行迴圈體下面的語句。

19樓:逮穎紹天慧

<1>用輾轉相除法求最大公約數

演算法描述:

m對n求餘為a,

若a不等於0則m

<-n,n

<-a,繼續求餘否則n

為最大公約數

<2>最小公倍數

=兩個數的積

/最大公約數

#include

intmain()

{intm,

20樓:酈秀梅杞妍

用了一種比較笨的bai方法,但是du好理解,希望zhi對你有幫助。dao

#include

void

main()

//這個函式用於求最小公倍數

intmin_num(int

x,int

y)returni;}

//這個函式用於求最大公約數

intmax_num(int

x,int

y)returni;}

21樓:證喔

#include

void main ()

printf ("最大

公約數是%d\n", m);//上面的演算法n=0時daom這時的值就是最大公約數

printf ("最小公倍數是%d\n", p/m);//兩數的積除以最大公約數就是最小公倍數了

22樓:周素芹賴庚

程式設計:bai

(1)比較已給兩數大小du,選出小zhi的intx,y

if(x

>y)則y小(2)迴圈語句dao

for(i=小的那個數;i>=1;i--)如果回i能整除兩者則輸出結果答。if(

(x/i*i==

x)&&

(y/i*i

==y))

break;

printf("最大公約數是

%d\n",i);

23樓:匿名使用者

#include

int main()

else

printf("最大公約數是%d\n", m);

printf("最小公倍數是%d\n", p / m);

return 0;}

改了一下上面的

24樓:眭煜牟婉靜

最大公約數:(輾轉相除法)

調整順序

使m>=n

迴圈m=m%n;

如果m=0,則n為最大公約數,跳出迴圈。注:%表示取餘運算。

n=n%m;

如果n=0,則m為最大公約數,跳出迴圈。

next

求出最大公約數g後,用m*n/g得到

最小公倍數。

c語言程式設計,輸入兩個正整數m和n,求其最大公約數和最小公倍數

main p n m p是原來兩個數n,m的乘積.while m 0 求兩個數n,m的最大公約數.printf its maxgongyueshu d n n 列印最大公約數.printf its mingongbeishu d n p n 列印最小公倍數.基本原理如下 用歐幾里德演算法 輾轉相除法...

c語言如何輸入正整數N,再輸入N個整數,按從小到大的順序

include int main for i 0 iprintf d a i printf n return 0 c語言 輸入一個正整數n,再輸入n個整數,將它們排序後由小到大輸出 a num 陣列不允許元素為變數。int i,j,num int change,t printf enter numb...

請教一道c語言題目輸入兩個正整數m和n求其最大

include int main printf greatest common divisor d n n cup printf lease common multiple d n m n n cup else printf error n return 0 c 實現輸入兩個正整數m和n,求其最大公...