輸入兩個正整數m和n,求其最大公約數和最小公倍數

時間 2021-08-13 17:02:38

1樓:

#include

int main(){

int a,b,num1,num2,temp;

printf("please input two number:\n");

scanf("%d%d",&num1,&num2);

if(num1temp = num1;

num1 = num2;

num2 = temp;

a = num1;

b = num2;

while(b!=0){

temp = a%b;

a=b;

b=temp;

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

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

2樓:倒黴熊

/*輸入兩個正整數m和n,求其最大公約數和最小公倍數*/#include

void  main()

}printf("最小公倍數是:%d/n" ,k);}

3樓:匿名使用者

#include

void  main()

}printf("最小公倍數是:%d" ,k);}

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

4樓:匿名使用者

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。

5樓:匿名使用者

int m,n,r,a,b;

b=m*n;

while(n!=0)

a=m;

b=b/a;

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

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

6樓:匿名使用者

#include

void main ()

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

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

return 0; }

7樓:小張

#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樓:手機使用者

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

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

9樓:匿名使用者

#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、退出迴圈,執行迴圈體下面的語句。

10樓:逮穎紹天慧

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

演算法描述:

m對n求餘為a,

若a不等於0則m

<-n,n

<-a,繼續求餘否則n

為最大公約數

<2>最小公倍數

=兩個數的積

/最大公約數

#include

intmain()

{intm,

11樓:酈秀梅杞妍

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

#include

void

main()

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

intmin_num(int

x,int

y)returni;}

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

intmax_num(int

x,int

y)returni;}

12樓:證喔

#include

void main ()

printf ("最大

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

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

13樓:周素芹賴庚

程式設計: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);

14樓:匿名使用者

#include

int main()

else

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

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

return 0;}

改了一下上面的

15樓:眭煜牟婉靜

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

調整順序

使m>=n

迴圈m=m%n;

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

n=n%m;

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

next

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

最小公倍數。

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

16樓:匿名使用者

#include "stdio.h"

void main()

17樓:林柯伊南

#include"stdio.h"

main()

while (m%n!=0)

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

printf("兩數最大公約數為

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

18樓:匿名使用者

if (n>m)

while (m%n)

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

數演算法描述:

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

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

19樓:桔聚聚

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

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

20樓:

# include

# include

int main()

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

}else

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

}if (m > n)

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

}else

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

}return 0;}

21樓:

#include

void main()

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

}給你來個最簡單的吧

22樓:同桌喜歡徐良

#include

int main()

t=n%m;

n=m;

m=t;

}z=w/n;

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

return 0;}

23樓:匿名使用者

#include

int main()

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

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

24樓:匿名使用者

更簡單的!

#include

void main()

return 0;}

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

彭玉英赫嬋 用了一種比較笨的方法,但是好理解,希望對你有幫助。include void main 這個函式用於求最小公倍數 intmin num int x,int y returni 這個函式用於求最大公約數 intmax num int x,int y returni 靖蓄宇辰錕 include...

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

1 用輾轉相除法求最大公約數 演算法描述 m對n求餘為a,若a不等於0 則 m n,n a,繼續求餘 否則 n 為最大公約數 2 最小公倍數 兩個數的積 最大公約數 include int main printf greatest common divisor d n n cup printf le...

用C語言編寫程式,輸入兩個整數,輸出其最大公約數和最小公倍數

念憶 include include void main include include include c 編寫程式。輸入兩個正整數,求它們的最大公約數和最小公倍數unsigned int maxdivisor unsigned int a,unsigned int b return 1 unsi...