16.素數是只能被 1 和它本身整除的數.小明編寫了一個 VB 程序實現(xiàn)將某個偶數拆成兩個素數之和.拆分方法如下: ①先將偶數拆分成兩個數之和,例如將 50 拆分為:3+47,4+46、…47+3. ②再對每種組合中的兩個數分別進行素數判斷. 在文本框 Text1 輸入一個偶數,單擊“拆分” 按鈕 Command1 后,在列表框 List1 中顯示素數組合. 程序運行界面如圖所示. 實現(xiàn)上述功能的 VB 程序如下,但加框處代碼有錯,請改正. Private Sub Command1_Click ( ?。?br />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)請在橫線處填入合適的代碼. Dim sfz(1To 100)As String'存放身份證號碼 Dim jq(1To 100)As Integer'存放加權因子 Dim jiegAs String'存放判斷結果 Private Sub Form_Load ( ?。?br />'本過程從數據庫中讀取身份證號碼、加權因子分別存儲到數組 sfz、jq 中,存儲在相應 的數組中 '代碼略 End Sub Private Sub Command1_Click ( ?。?br />For i=1To n'變量 n 指的是從數據庫讀取的身份證號碼個數 jieg=
List1.AddItem sfz(i)+““+jieg Next i End Sub Function jy(sfz1As String) As String'對身份證的校驗碼進行校驗 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=“錯誤!“ End If End Function.