1樓:牛人影視
private sub command1_click()
dim tmpstr as string, tmpstr1 as string
dim mpstr2 as string, tmpstr3 as string
dim a as integer, b as integer, c as integer
dim a1 as string, b1 as string, c1 as string
dim sum1 as integer, sum2 as integer, sum3 as integer
tmpstr = "123456789"
for a = 1 to 9
tmpstr1 = replace(tmpstr, a, "") '去掉已經用的數
for b = 1 to 8
b1 = mid(tmpstr1, b, 1)
tmpstr2 = replace(tmpstr1, b1, "") '去掉已經用的數
for c = 1 to 7
c1 = mid(tmpstr2, c, 1)
sum1 = val(a & b1 & c1) '得到最小的三位數
' 如果最小三位數的三倍大於999,結束計算
if sum1 > 333 then goto theend
sum2 = sum1 * 2 '得到第二個數
if checksum(clng(sum1), sum2) then '如果第二個數合格
sum3 = sum1 * 3 '得到第三個數
if checksum(clng(sum1 & sum2), sum3) then '如果合格,輸出
debug.print sum3 & "," & sum2 & "," & sum1
end if
end if
next
next
next
theend:
end sub
'檢查重複數字
private function checksum(byval asum as long, byval bsum as integer) as boolean
dim i as integer
for i = 1 to 3
if instr(asum, mid(bsum, i, 1)) > 0 then
exit function
end if
next
checksum = true
end function
2樓:
如果「第一個數字是第二個的兩倍,是第三個的三倍」則本題無解,如果「第二個數字是第一個數字的兩倍,第三個數字是第一個數字的三倍」則解如下:
private sub command1_click()
dim a1 as integer, a2 as integer, a3 as integer, mynum1 as integer, mynum2 as integer, mynum3 as integer, mytempstr as string, myoutput as string, i as integer
for a1 = 1 to 9
for a2 = 1 to 9
for a3 = 1 to 9
mynum1 = val(a1 & a2 & a3)
mynum2 = 2 * mynum1
mynum3 = 3 * mynum1
if mynum2 > 999 or mynum3 > 999 then goto myendsub
mytempstr = cstr(mynum1) & cstr(mynum2) & cstr(mynum3)
for i = 1 to 9
if instr(1, mytempstr, i) = 0 then goto mynextone
next
myoutput = myoutput & mynum1 & vbtab & mynum2 & vbtab & mynum3 & vbcrlf
mynextone:
next
next
next
myendsub:
msgbox myoutput
end sub
3樓:匿名使用者
群 號:238706019裡面問問
求各位數字只和為9的三位數?vb
4樓:匿名使用者
private sub command1_click()dim s as string
s = ""
for i = 100 to 999
if (i mod 10) + ((i \ 10) mod 10) + (i \ 100) = 9 then
s = s & i & " "
end if
next i
text1.text = s
end sub
在vb中如何計算數字1~9的所有可能排列?
5樓:
最簡單的演算法就是從1一直迴圈到987654321,逐個數檢查是否有重複。
6樓:花落花飛謝
如果位數是9位,且不能重複,那所有的可能:第一位有9種可能,第二位有9-1種,第三位有9-2種,以此類推,第9位位還剩一種可能。
9*8*7*6*5*4*3*2*1=362880
至於怎麼寫到vb裡面,你再看看。我也寫,寫的好就回復,寫不好,你只能自力更生了。
7樓:姓王的
排列的個數也不限嗎?比如:1、135、123456789都是要得出的結果嗎?
8樓:匿名使用者
qun號148317126 ,2000個人的,那裡問問
vb中,有很多按鈕,每個按鈕代表一個數值,例如123456789,怎樣能將這些數依次顯示在文字框裡
9樓:匿名使用者
private sub command1_click()text1.text = text1.text & "1"
end sub
private sub command2_click()text1.text = text1.text & "2"
end sub
private sub command3_click()text1.text = text1.text & "3"
end sub
。。。。。。
用vb編寫程式計算1*9+2= 12*9+3= 123*9+4= 1234*9+5= ... 123456789*9+10=?
10樓:匿名使用者
private sub form_click()for i = 1 to 9
s = s & i
print s & "*9+" & i + 1 & "=" & val(s) * 9 + i + 1
next
end sub
怎樣設計vb程式求0~9九個數字組成的所有九位數? 5
11樓:百小度
for i = 0 to 9
for j = 0 to 9
for k = 0 to 9
for l = 0 to 9
for m = 0 to 9
for n = 0 to 9
for o = 0 to 9
for p = 0 to 9
for q = 0 to 9
for r = 0 to 9
msgbox i & j & k & l & m & n & o & p & q & r
next
next
next
next
next
next
next
next
next
next
12樓:
電腦受罪啊!!
000000001 + 1
一直+到999999998
private sub command1_click()dim x as long
for x = 1 to 999999998text1.text = text1.text & vbcrlf & 000000001 + x
next x
end sub
『這點改一下·· ,要不就用listboxtext1.scrollbars = 2
13樓:武文龍魔
不明白那你的意思,直接迴圈從100000000加1一直到999999999,就行了
14樓:匿名使用者
是按照比如從小到大順序的還是沒有排列順序的?前者很簡單,估計你也會。後者也不是很麻煩,但是計算量可能有點大。你是要幹嘛?看能不能用其他演算法實現。
15樓:匿名使用者
這是一個排列問題,不是很簡單的!!!
怎麼用VB編輯強制關機程式,怎麼用VB編輯一個強制關機程式
1 vb中shell函式可以執行一個可執行檔案。2 shell的語法 shell pathname windowstyle 3 用shell呼叫控制元件臺命令shutdown可以實現強制關機。4 示例 無 防止菜鳥複製搞惡。這個我不會。給電腦定時關機,我使用的是定時關機3000.定時關機3000有1...
學vb有什麼用,學VB有什麼用?
vb更多情況下是用來開發系統的,好多系統生活中我們是比較常見的,比如你去超市的話,收銀員根據商品的條形碼,系統就會馬上顯示出該商品的名稱 等等資訊,等你購買好商品之後,超市的資料庫中就會減去你購買商品的數量,這樣超市的管理員可以根據資料庫很容易知道哪些商品快賣完了,哪些還剩餘很多,這麼多功能如果靠一...
用VB編寫自動關機程式,用VB編寫一個自動關機程式
option explicit private declare function getlastinputinfo lib user32 plii as lastinputinfo as boolean private declare function gettickcount lib kernel...