vb題 程式設計計算100以內素數的和

2021-12-22 19:50:46 字數 1969 閱讀 6779

1樓:匿名使用者

private sub command1_click()dim i as integer, j as integer, k as integer

for i = 2 to 100

for j = 2 to i

if i mod j = 0 then

exit for

end if

next

if i = j then

k = k + i

end if

next

msgbox k

end sub

2樓:美麗可愛

private sub form_load()

show

dim n, i, k as integer '定義n , i , k為整數型

s = 0                  '賦值s 為0

for n = 1 to 100       '列舉 for迴圈 n 從1到100

k = 0                  '賦值k 為0

for i = 1 to n         '巢狀for迴圈 i為除數

if n mod i = 0 then    '如果 i 能整除n

k = k + 1              '(k為可以整除n的個數) 則k加1

end if

next i                 '結束for迴圈

if k = 2 then          '如果 k等於2 (由於素數只有兩個能夠整除的除數,為素數的特性)

s = s + n              's相當於累加器,將滿足k=2條件的n加起來

end if

next n                 '結束for迴圈

print s                '輸出s

end sub

以上是我的一種列舉的方法,還有多種解法,希望可以幫助你。

要理解這段**並不難,主要理解:

雙重迴圈有這幾特點:

一是:一旦進入內迴圈,要把內迴圈做完才能持行外迴圈**,除非你是用exit for 強制退出

二是:外迴圈做一次,內迴圈要做完,強制性退出(exit for)的除外

vb程式設計輸出100以內的所有素數

3樓:匿名使用者

我記得素數是隻能被1和它本身除的數,如是的話如下**能夠實現。

private sub command1_click()for i = 1 to 100

for j = 2 to i - 1

if i mod j = 0 then

exit for

end if

if j = i - 1 then

print i

end if

next j

next i

end sub

vb程式設計輸出100以內的素數

4樓:心感自然

具體是這樣子的:

從for i = 1 to 100到next i這是一個完整的for迴圈,而for j = 2 to i - 1到next j是一個內層迴圈,外層迴圈用來控制數字是幾,就是1到100麼,內層是x當作標記來看,給他附初值,0,然後開始內層迴圈就是那個 j 迴圈,開始判斷素數,什麼時素數?就是不能被1和他本身整除的數字,就是素數,這樣可以設定最大迴圈判斷的那個數字是比她小的,其實可以改為i/2,也是對的,甚至是sqr(i)也可以,x是一個標誌,如果可以被一個數字整除,那麼x就不是1了,再迴圈結束的時候進行判斷,如果還是0,那麼說明是素數,在窗體上輸出,如果不是0,就不是素數了唄,什麼也不做,進行下一個迴圈!

純手打……不含假……不懂追問我,謝謝

望採納,謝謝

5樓:匿名使用者

你知道什麼是素數嗎?

VB迴圈計算10以內的奇數階乘和

private sub command1 click dim i as integer dim s as integer s 0 i 0 do while i 1000 i i 1 if i mod 2 1 then s s i end if loop print 計算1至1000之間的奇數之和為 ...

vb輸出100以內能被3整除的數之和

vb是什麼意思?數學方式應該這樣!設數之和為m 所以2m 102 33 所以m 51 33 dim a,i as integer for i 0 to 100 if mod i 3 0 then a a i next i 其中a為能被3整除的數之和 dim a,i as integer for i ...

vb 程式設計計算「被三整除的所有正整數並顯示出來」

所有正整數有無限個 所以必須限定一個範圍 private sub command1 click dim i as integer,n as integern inputbox 請給出範圍 n for i 1 to n if i mod 3 0 then print inext end sub 當然這...