如何設計3個整數的最小公倍數

看過有人提出的問題(最大公因數)

不過還是搞不清楚  如果用迴圈設計

可是質數不是累計+1的情況 

請高手解惑 ^^   謝謝

http://stdb.org/forum/forum_posts.asp?TID=7328&FID=23

如果直接從K大的程式來說~你只要把A數除以最大公因數再乘上B數~就是最小公倍數了~



這個原始連結已經貼在上方~不算是我想的~只是提供後續部份~試試看吧

續k大的做法,我已經將3數的做出來了,可以參考看看

要求出最小公倍數應該不用那麼複雜,用以下的方法再多個數字程式也不會很複雜。

![](upload://xocvXbqHMh8CVJ9yIeugHolERfE.jpeg)

依tony7238的想法,先把求最大公因數最小公倍數的VI存成SubVI,

![](upload://4NuJhjoVOv3rXc5f6JUs9z8wXQY.jpeg)

再逐次呼叫副程式求出最小公倍數即可:

![](upload://xcyQG1a1xNaPTmps5wLAvKR6O4J.jpeg)

嗯嗯~做成sub VI也是一個很快的方式~
<span =“bold”>liuyunan大的方式很直接~不過這樣就不能求最大公因數了~(不過原由本來就只是求最小公倍數)
K大做的部份~也可以把最大公因數提出嗎!?
還在研究你現在寫的這部份~有點數學邏輯上的問題~哈哈~想一想~

把SubVI拉出X, Y 兩個輸入端,及最大公因數, 最小公倍數兩個輸出端(那個"GCD & LCM"圖示 就是這個SubVI),

再來就是先給兩個數值算出最小公倍數LCM,

然後用這個最小公倍數跟下一個數值再用"GCD & LCM"副程式算出新的最小公倍數即可,

你只要一直重複下去就可以算出n個整數的最小公倍數(不過要小心,不要overflow)。

[QUOTE=lolomilk]

續k大的做法,我已經將3數的做出來了,可以參考看看

[/QUOTE]

這位大大的最小公倍數有問題的說.....

此大大的算式應該是這樣設定的:

先設某三數值為:A、B、C,Q為最大公因數

<1>A*B/Q

<2>將<1>得到的數值*C

<3>將<2>得到的數值/Q

此時得到最小公倍數...

---

先假設3數值為:1、2、3,此時最大公因數為1

<1>1*2/1=2

<2>2*3=6

<3>6/1=6

此時得到的數值為最小公倍數,答案是6(正是此3數值的最小公倍數)

---

但是...

假設另一組3個數值為2、3、4 ,最大公因數為1

<1>2*3/1=6

<2>6*4=24

<3>24/1=24

照此大大的解法..最小的倍數卻是24?(正確來說...2、3、4的最小公倍數應該是12不是嗎??)

因為我也照此大大的方式做程式出來...

但是答案卻是錯的= =a(自己想要想其他式子算3數值的最小公倍數也卡住XD)

---

想再請教各位大大一些問題....

那個三角形符號+1代表何意思??

跟算公因數、公倍數有關係嗎?

 

triple017339179.601412037

妳是說~從回圈數i接出來的那個三角形加一嗎~~
那是因為回圈一開始是從0開始送出數值~如果沒先加一的話~應該會造成無限大的值吧~~沒試過~懶得試~妳可以試試看~

[QUOTE=liuyunan]

要求出最小公倍數應該不用那麼複雜,用以下的方法再多個數字程式也不會很複雜。

![](upload://xocvXbqHMh8CVJ9yIeugHolERfE.jpeg)

[/QUOTE]

想請問此大大....

我用你的方式做出了3數值的最小公倍數

但是數值輸入2、3、4後...

最小公倍數數值雖然出來了...

但是會不定是閃爍??為何會這樣??

----

那請問一下...

從Functions面板~All Functions~Numeric~Compound Arithmetic(複合算式函數)拉出的東西

他有以下可選擇的:Add、Mulitiply、And、or、xor

我有自己摸索了前兩者...

後三者是啥原理阿?!

[QUOTE=triple0173]

想請問此大大....

我用你的方式做出了3數值的最小公倍數

但是數值輸入2、3、4後...

最小公倍數數值雖然出來了...

但是會不定是閃爍??為何會這樣??

----

那請問一下...

從Functions面板~All Functions~Numeric~Compound Arithmetic(複合算式函數)拉出的東西

他有以下可選擇的:Add、Mulitiply、And、or、xor

我有自己摸索了前兩者...

後三者是啥原理阿?!

[/QUOTE]

關於第1個問題:

沒看到你寫的程式就不知道你錯在哪?會不定時閃爍?猜測應該是你程式沒有達到迴圈停止的條件,所以一直反覆執行中吧?

第2個問題:

And、or、xor如字面上的意義是邏輯判斷用的

[QUOTE=liuyunan][QUOTE=triple0173]

想請問此大大....

我用你的方式做出了3數值的最小公倍數

但是數值輸入2、3、4後...

最小公倍數數值雖然出來了...

但是會不定是閃爍??為何會這樣??

----

那請問一下...

從Functions面板~All Functions~Numeric~Compound Arithmetic(複合算式函數)拉出的東西

他有以下可選擇的:Add、Mulitiply、And、or、xor

我有自己摸索了前兩者...

後三者是啥原理阿?!

[/QUOTE]

關於第1個問題:

沒看到你寫的程式就不知道你錯在哪?會不定時閃爍?猜測應該是你程式沒有達到迴圈停止的條件,所以一直反覆執行中吧?

第2個問題:

And、or、xor如字面上的意義是邏輯判斷用的

[/QUOTE]

我也是照大大的作法做的....(因為最近自己摸索...問題很多~請多包涵)

![](upload://nNk2eqAXWCt23Yfq9ySkdUTXWTr.jpeg)

那我除了輸入10、5、9三個數值後按執行鍵...答案有閃爍外

在還沒輸入數值前...

最小公倍數的答案卻永無止境的一直跑數值出來...

那這樣算正常嗎??!

請大大幫我解答一下~謝謝!

![](upload://3GFRKCcp2Qkf5sAAU062qU8re5g.jpeg)

 

 

[QUOTE=triple0173]

我也是照大大的作法做的....(因為最近自己摸索...問題很多~請多包涵)

![](upload://nNk2eqAXWCt23Yfq9ySkdUTXWTr.jpeg)

那我除了輸入10、5、9三個數值後按執行鍵...答案有閃爍外

在還沒輸入數值前...

最小公倍數的答案卻永無止境的一直跑數值出來...

那這樣算正常嗎??!

請大大幫我解答一下~謝謝!

![](upload://3GFRKCcp2Qkf5sAAU062qU8re5g.jpeg)

[/QUOTE]

我的程式是要先輸入3個不是0的數值然後算出最小公倍數

除數和被除數都不能為0,所以迴圈一開始數值才會加1,從1開始除

另外3個輸入數值只要有1個是0則會看到答案數值一直跑,因為任何數除0答案等於無解,所以迴圈不會停止