誰能幫解答下程式設計題1 輸入兩個正整數m和n,求其最大公約數和最小公倍數

2021-05-21 23:41:01 字數 4114 閱讀 7612

1樓:慕連枝沃俏

用c++實現如下:

#include

void

main()

cout<<"最大公約數為"<

void

main()

printf("最大公約數為%d\n",b);

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

}備註:最小公倍數等於兩個數的乘積除以最小公約數

2樓:華錄_起點

#include

#include

void main()

printf("m和n的最小公倍

數是%d\n",y);}

3樓:噢天氣不錯

int fun1(int m,int n)return (m);

} 跟你講講輾轉相除法的原理。

兩個整數的最大公約數是能夠同時整除它們的最大的正整數。輾轉相除法基於如下原理:兩個整數的最大公約數等於其中較小的數和兩數的差的最大公約數。

例如,252和105的最大公約數是21(252 = 21 × 12;105 = 21 × 5);因為252 − 105 = 147,所以147和105的最大公約數也是21。在這個過程中,較大的數縮小了,所以繼續進行同樣的計算可以不斷縮小這兩個數直至其中一個變成零。這時,所剩下的還沒有變成零的數就是兩數的最大公約數。

4樓:瓢盆大雨

#include

using namespace std;

int main()

t1 = a%b;

if(t1==0)

t2=b;

else

t1= t1%t2;}}

result = t2*(a/t2)*(b/t2); // a,b的最小公倍數 = a,b的最大公約數 * (a/最大公約數)*(b/最大公約數)

cout<<"the result is "<

return 0;}

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

5樓:匿名使用者

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

6樓:逮穎紹天慧

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

演算法描述:

m對n求餘為a,

若a不等於0則m

<-n,n

<-a,繼續求餘否則n

為最大公約數

<2>最小公倍數

=兩個數的積

/最大公約數

#include

intmain()

{intm,

7樓:酈秀梅杞妍

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

#include

void

main()

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

intmin_num(int

x,int

y)returni;}

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

intmax_num(int

x,int

y)returni;}

8樓:證喔

#include

void main ()

printf ("最大

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

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

9樓:周素芹賴庚

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

10樓:匿名使用者

#include

int main()

else

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

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

return 0;}

改了一下上面的

11樓:眭煜牟婉靜

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

調整順序

使m>=n

迴圈m=m%n;

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

n=n%m;

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

next

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

最小公倍數。

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

12樓:冠夏登溪

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

。#include

void

main()

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

intmin_num(int

x,int

y)returni;}

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

intmax_num(int

x,int

y)returni;}

13樓:i樂於助人

#include

int main()

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

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

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

return 0;}

14樓:蘭昂位力

#include

using

namespace

std;

intmain()

c++實現輸入兩個正整數m和n,求其最大公約數和最小公倍數?

15樓:凌亂心扉

#include "stdio.h"

void main()

}if(i == c+1)

printf("沒有最大公約數 ");

c = m > n ? m : n ;           // 取 m n 中較大的數,賦值給c //

for (i = c ; i <= m*n; i++)}}

16樓:

#include

using namespace std;

int main()

num1 = a;

num2 = b;

while(num2 != 0)

cout << "最大公約數為:" << num1<< " 最小公倍數為:" << (a * b) / num1 << endl;

return 0;}

求vb程式設計兩個按鈕奇數和偶數和輸入整數

private sub mand1 click dim n as integer dim s as double s 0 n val text1.text for i 1 to n if i mod 2 1 then s s inext i text3.text s end sub private ...

兩個簡單的數學題求幫忙解答一下謝了

1 28 2n boe 2 cof 2 仍成立 boe 2 cof 以 2 為例證明如下 被一道數學題難住了,求各位老師幫忙解答一下,謝了 直線y 3 4x b與x軸的交點的座標為 4 3b,0 其中4 3b從何而來?x軸上的所有點得縱座標為0,將0代入直線方回程0 3 4x b,解出 x 4 3b...

C Form程式設計時,有兩個窗體form1顯示查詢資料結果,點選按鈕form2並顯示form1中的某個結果

class from2 class from1 在執行form2的建構函式的時候,可以對其進行傳值,來顯示form1中的一些資料。我以前為了弄清委託和事件,自己也寫過兩個窗體間傳資訊的例子,把你的郵箱告訴下吧,我發給你看下 還有你說的 在form2中一個按鈕的單擊事件中呼叫form1的form1 l...