VB程式設計題,關於完數的輸出,怎麼樣輸出完數的因數

2022-03-14 13:17:55 字數 4593 閱讀 1748

1樓:百小度

輸出效果如圖所示,當然你可以參照**修改。

option explicit

'判斷是否為完數

private function checkvalue(lngtmp as long) as boolean

dim lngindex as long, lngmax as long, lngresult as long

lngmax = lngtmp - 1

for lngindex = 1 to lngmax

if lngtmp mod lngindex = 0 then lngresult = lngresult + lngindex

next lngindex

if lngtmp = lngresult then

checkvalue = true

else

checkvalue = false

end if

end function

'輸出完陣列合方式

private function echovalue(lngtmp as long) as string

dim lngindex as long, lngmax as long, lngresult as long, strtmp as string

strtmp = ""

lngmax = lngtmp - 1

for lngindex = 1 to lngmax

if lngtmp mod lngindex = 0 then

strtmp = lngresult & "+" & lngindex

lngresult = lngresult + lngindex

strtmp = "完數 " & lngresult & "的組合方式為:" & strtmp

end if

next lngindex

echovalue = strtmp

end function

private sub form_load()

dim lngindex as long

for lngindex = 1 to 1000

if checkvalue(lngindex) = true then debug.print echovalue(lngindex)

next lngindex

msgbox "指定範圍內的完數輸出完畢"

end sub

2樓:諶敬

dim a%()

private sub form_click()print "1000以內的完數為:"

for i = 1 to 1000

if isws(i) then

print i; "=1";

for j = 1 to ubound(a)print "+"; a(j);

next j

print

end if

next i

end sub

function isws(m) as booleandim s%

s = 0

for i = 1 to m \ 2

if m mod i = 0 then

redim preserve a(j)

a(j) = i

j = j + 1

s = s + i

end if

next i

if m = s then isws = trueend function

3樓:匿名使用者

dim a()

function isws(m) as booleanisws = false

dim j as integer, s as integer, x as integer

for j = 1 to m - 1

if m mod j = o then

redim preserve a(x)

s = s + j

a(x) = j

x = x + 1

end if

next j

if m = s then isws = trueend function

private sub form_click()dim i as integer

print "1000以內的完數"

for i = 1 to 1000

if isws(i) = true thentemp = ""

for x = 0 to ubound(a)if x = ubound(a) thentemp = temp & a(x)

else

temp = temp & a(x) & "+"

end if

next x

print i; "="; temp

end if

next i

end sub

如何用vb判斷完數

4樓:匿名使用者

**只少了一句s=0

private sub form_click()dim s, i, n

for n = 2 to 10000

s = 0 '少了這句,每次s都要清零,要不會把上次的結果也加進去就導致判斷失誤了

for i = 1 to n / 2

if n mod i = 0 then s = s + inext i

if s = n then print nnext

end sub

5樓:匿名使用者

private sub form_click()dim i%, c

print "1-10000以內的完全數為:"

for i = 1 to 10000

c = isws(i)

if c <> "" then

print i & "=" & c

end if

next i

msgbox "計算完畢!"

end sub

function isws(m as integer)dim i%, s%, d$

for i = 1 to m / 2

if m mod i = 0 then

s = s + i

d = d & "+" & i

end if

next i

if s = m then isws = right(d, len(d) - 1)

end function

vb找出1000以內的所有完數,輸出其因子和

6樓:匿名使用者

private sub command1_click()'完數定義:一個數如果正好等於它的因子之和,這個數就稱為完數。例如,6的因子為1、2、3,而6=1+2+3,因此6是"完數"。

outputwannumber 1000

end sub

sub outputwannumber(byval n as integer)

dim i as integer

dim j as integer

dim s as integer

for i = 1 to n

s = 0

for j = 1 to i\ 2

if i mod j = 0 then s = s + jnext j

if s = i then print i & "是完數"

next i

end sub

用vb求完數 5

7樓:匿名使用者

'求完數

dim i, j, sum as longprint "1000以內的完數:"

for i = 5 to 1000 '1000以內的完數,最小的完數為6,所以從數字5開始求,以節省計算量!

sum = 1 '子因子1不用再求,直接賦予。

for j = 2 to int(i / 2) '子因子小於所求數的一半

if (i mod j) = 0 then sum = sum + j

next 'j

if i = sum then print i '輸出完數next 'i

8樓:匿名使用者

'form的事件使用錯誤 ,其它沒有錯誤,測試一下看看:

function isws(m, out2) as booleans = 1

out2 = "1"

isws = false

for i = 2 to (m - 1)

if m mod i = 0 then

s = s + i

out2 = out2 & "+" & iend if

next i

if s = m then isws = trueend function

private sub form_activate()for i = 2 to 1000

if isws(i, out1) then print i & "=" & out1

next i

end sub

程式設計輸入四位數倒置輸出vb的過程

int a textbox1.text,q 0,b 0,s 0,g 0 q a 1000 b a 100 10 s a 10 10 g a 10 千位 x.substring 0,1 百位 x.substring 1,1 十位 x.substring 2,1 個位 x.substring 3,1 v...

小學奧數題,這道小學奧數題怎麼樣給孩子講才容易懂 ?

第一次倒出 油的2 3 5千克 剰下 油的1 3 5千克。第二次倒出 油的1 3 3 4 5千克 3 4 3千克 油的1 4 27 4千克。兩次共倒出 油的2 3 5千克 油的1 4 27 4千克 油的11 12 7 4千克 87千克。87 7 4 11 12 93千克。甲的路程 全程的2 5 10...

華碩a450vb怎麼樣,我的是華碩A450VB型號,我加了一個4G記憶體條,為什麼顯示的還是4G記憶體呢

華碩a45cb系列的筆記本,價效比都很出色,尤其是asus 華碩 a450ei323vb sl 74f5dx2a 這款.華碩a450ei323vb sl採用了出色的硬體配置,英特爾酷睿i5 3230m處理器,配備gt740m顯示核心及高達2gb ddr3視訊記憶體,提供最佳的處理效能與最具吸引力的多...