vb語言求最大公約數,使用vb求最大公約數的兩種方法是什麼?

2022-02-19 13:42:22 字數 2096 閱讀 8597

1樓:匿名使用者

private sub gys(m as integer, n as integer)

'求出兩個數的最大公約數

dim r as integer

r = m mod n

do while r <> 0

m = n

n = r

r = m mod n

loop

end sub

private sub command1_click() '生成酉完全數

dim n as integer, d as integer, x as integer, y as integer, sum as integer, r as integer

for n = 6 to 200

sum = 0

for d = 1 to (n - 1)

if (n mod d) = 0 then

x = n / d

call gys(d, x)

if x = 1 then

sum = sum + d

end if

end if

next d

if sum = n then

picture1.print n

end if

next n

end sub

function gbs(a as long, b as long)

'求出兩個數的最小公倍數

dim x as long, y as long, k as long, 最大公約數 as long

x = iif(a >= b, a, b) 'x存入最大值

y = iif(a <= b, a, b) 'y 存入最小值

do '輾轉相除法

k = x mod y: if k = 0 then exit do

x = y: y = k

loop

最大公約數 = y

gbs = a * b / 最大公約數

end function

2樓:匿名使用者

這個是歐幾里德演算法:

private sub command1_click()dim p as integer

dim q as integer

dim temp as integer

dim r as integer

p = val(text1.text)

q = val(text2.text)

if p < q then

temp = p

p = q

q = temp

end if

dor = p mod q

if r = 0 then

msgbox str(q) & "為公約數"

exit do

else

p = q

q = r

end if

loop

end sub

解析:歐幾里德求公約數演算法:

步驟1:如果p

步驟2:令r是p/q的餘數.

步驟3:如果r=0,則q為最大公約數;否則令p=q,q=r並轉入步驟2.

3樓:匿名使用者

unction zdgys(byval m as long, byval n as long) as long '最大公約數

dim min as long, i as longmin = iif(m >= n, n, m)zdgys = 1

for i = 1 to min

if m mod i = 0 and n mod i = 0 then zdgys = i

next

end function

求vb程式設計 輸入兩個數,求最大公約數和最小公倍數 80

4樓:你板比

供參考

使用vb求最大公約數的兩種方法是什麼?

pascal求最大公約數,Pascal求最大公約數

求兩個整數的最大公約數 輾轉相除法 程式如下 varm n integer function fac i,j integer integer begin if j 0 then begin fac i exit end fac fac j i mod j end begin readln n,m w...

求36963與59570的最大公約數

通過觀察容易發現,36963有約數3 3。而59570沒有質數3。59570有質因數2和5,而36963沒有質因數2和5。所以可以從36963中分解出3 3,從59570中分解出2 5,再求其餘部分的最大公約數。36963 3 3 4107 59570 2 5 5957 輾轉相除法 用大數除以小數再...

c語言用輾轉相除法求最大公約數編寫c語言程式

int divisor int a,int b 自定義函式求兩數的最大公約數 設定中間變數進行兩數交換 while b 0 通過迴圈求兩數的餘數,直到餘數為0 return a 返回最大公約數到呼叫函式處 用輾轉相除法求最大公約數,怎麼編寫c語言程式?int divisor int a,int b ...