c語言中求兩個數的最小公倍數的高效演算法是

時間 2021-12-20 19:32:26

1樓:匿名使用者

這思路我自己想的,但是我也說不太明白,反正我知道怎麼回事1先判斷大數%小數是不是0,是0那麼大數就是最小公倍數2不是的話,讓大數%小數得到一個數,讓小數%得到的數,如果得0那麼讓大數*(小數/(大數%小數)),得到得數是最小公倍數3如果2中小數%得到的這個數不等於0,那麼恭喜你,這兩個數的最小公倍數就是:大數*小數

4如果這兩個數相等,那麼,隨便一個都是最小公倍數純手打,今天剛好做這個題,看到網上沒什麼答案,我就寫寫我的思路c++語法如下:

int pd(int a,int b);

int main()

return 0;

}int pd(int a, int b)else if (b % (a%b) == 0)else

}else if (b > a)

else if (a % (b%a) == 0)else

}else

return p;}

2樓:匿名使用者

不知道是不是最高效的,應該還可以

c++語言的如下:

#include

using namespace std;

int main()

int i = 1;

while(!(b * i % a == 0))i++;

cout << i * b << endl;

return 0;

}就是先找到兩個數的較大的一個,然後依次列舉較大數的一倍,兩倍,三倍,知道找到最小公倍數!

3樓:

這個c程式可同時求出最小公倍數和最大公約數,最小公倍數等於這2個數的乘積除以最大公約數。最大公約數的演算法基本不能再簡了,在此值上再做一次乘和除就得到最小公倍數了。

void main()

p=numa*numb;

/*求2數的最大公約數,儲存在numa中*/while(m!=0)

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

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

4樓:

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

方法步驟:

一、開啟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開始執行(不除錯),輸入兩個整數之間用空格隔開,回車即可得到兩個整數的最小公倍數

5樓:

#include

int main(void)

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

return 0;

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

6樓:匿名使用者

#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

7樓:碧海風雲

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

int main()

執行結果

8樓:戈壁與清潭

#include

#include

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

//防止輸入0

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

return 0;}

9樓:電商法蕭寒

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

#include

#include

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

//防止輸入0

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

return 0;}

10樓:我的導數大於零

#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;}

11樓:德眾

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

#include

int main()

m=i*j/n;

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

return 0;}

12樓:omy芭比娃娃

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

void main()

c=m*n/a;

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

13樓:匿名使用者

用輾轉相除法;

int main()

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

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

}else

return 0;}

14樓:那可真是令人作嘔

6471961738713818687371816771

c語言程式設計中,求兩個數的最大公約數和最小公倍數演算法是怎樣的

15樓:池素枝宜燕

#include

main()

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

getch();

}這個演算法就是把你初中算最大公約數的過程給程式化了。。你用以前的方法在紙上算算最大公約數

再對照while裡面的演算法

就能明白咋回事了。。

c語言程式設計求輸入兩個數的最大公約數和最小公倍數,怎麼做?

16樓:餡嘍嘍嘍

輸入兩個正整數m和n,求其最大公約數和最小公倍數.用輾轉相除法求最大公約數 演算法描述:m對n求餘為a,若a不等於0 則 m 0)

m1 = m;

n1 = n;

while (n != 0)

printf ("%d 和 %d 的最大公約數是:%d\n",m1,n1,m);

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

}輸入兩個正整數m和n,求其最大公約數和最小公倍數.用輾轉相除法求最大公約數 演算法描述:m對n求餘為a,若a不等於0 則 m 0)

{ m_cup = m;

求程式設計最小公倍數,,,c語言

輸入兩個數a,b,得到公倍數。include int main else if a b for i b i printf d i return 0 c語言程式設計 求n個數的最小公倍數。程式設計問題 c語言求最大公約數和最小公倍數 要求用三種方法!includemain 這是我原來做的程式。印象中就...

如何找兩個數公倍數和最小公倍數,怎樣求兩個數的“最大公因數”和“最小公倍數”?

小小芝麻大大夢 列舉法舉例說明如下 如求6和9的公倍數和最小公倍數。6的倍數 6,12,18,24,30,36 等等。9的倍數 18,27,36 等等。找出二者相同的倍數,就是二者的公倍數。在公倍數裡面,數值最小的就是最小公倍數。因為兩個數的公倍數有很多,所以6和9的公倍數有18,36等等。6和9的...

最小公倍數怎麼求要簡單易懂的,求最小公倍數的方法有哪些?

阿and付 最小公倍數,你把這幾個數相乘,就是了 比方說2和3的最小公倍數就是2 3 6 幾個數共有的倍數叫做這幾個數的公倍數,其中除1以外最小的一個公倍數,叫做這幾個數的最小公倍數。如果兩個數是倍數關係,則它們的最小公倍數就是較大的數,相鄰的兩個自然數的最小公倍數是它們的乘積。2 4 8其最小公倍...