16.素?cái)?shù)是只能被 1 和它本身整除的數(shù).小明編寫了一個(gè) VB 程序?qū)崿F(xiàn)將某個(gè)偶數(shù)拆成兩個(gè)素?cái)?shù)之和.拆分方法如下: ①先將偶數(shù)拆分成兩個(gè)數(shù)之和,例如將 50 拆分為:3+47,4+46、…47+3. ②再對(duì)每種組合中的兩個(gè)數(shù)分別進(jìn)行素?cái)?shù)判斷. 在文本框 Text1 輸入一個(gè)偶數(shù),單擊“拆分” 按鈕 Command1 后,在列表框 List1 中顯示素?cái)?shù)組合. 程序運(yùn)行界面如圖所示. 實(shí)現(xiàn)上述功能的 VB 程序如下,但加框處代碼有錯(cuò),請(qǐng)改正. Private Sub Command1_Click ( ) Dim i As Integer,k As Integer i=Val(Text1.Text) For k=3To i\2 If prime(k) And Then List1.AddItem Str(k) &“+“& Str(i-k) End If Next k End Sub Function prime(x As Integer) As Boolean Dim j As Integer prime=True For j=2To Sqr(x) If =0Then prime=False Exit Function End If Next j End Function.
.(選填:解析算法或枚舉算法) (2)請(qǐng)?jiān)跈M線處填入合適的代碼. Dim sfz(1To 100)As String'存放身份證號(hào)碼 Dim jq(1To 100)As Integer'存放加權(quán)因子 Dim jiegAs String'存放判斷結(jié)果 Private Sub Form_Load ( ) '本過(guò)程從數(shù)據(jù)庫(kù)中讀取身份證號(hào)碼、加權(quán)因子分別存儲(chǔ)到數(shù)組 sfz、jq 中,存儲(chǔ)在相應(yīng) 的數(shù)組中 '代碼略 End Sub Private Sub Command1_Click ( ) For i=1To n'變量 n 指的是從數(shù)據(jù)庫(kù)讀取的身份證號(hào)碼個(gè)數(shù) jieg=
List1.AddItem sfz(i)+““+jieg Next i End Sub Function jy(sfz1As String) As String'對(duì)身份證的校驗(yàn)碼進(jìn)行校驗(yàn) Dim s As Integer,y As Integer,r As Integer Dim djym As String jym=“10X98765432“ For i=1To 17 r=Val(Mid(sfz1,i,1))*
s=s+r Next i y=s Mod 11 djym=
If djym=Mid(sfz1,18,1)Then jy=“正確!“ Else jy=“錯(cuò)誤!“ End If End Function.