主题:[讨论]vb急救
			
 haochen
				 [专家分:0]  发布于 2009-01-04 18:28:00							
			用函数过程判断某数是否为素数,利用此函数完成:
1、输出3-100之间的素数;
2、验证哥德巴赫猜想(每一个大于2的偶数都可以表示为两个素数的和)即对于一个偶数。输出他的所有
素数和的形式。
要求功能完整,界面尽量人性化。
						
					 
		
			
回复列表 (共4个回复)
		
								
				沙发
				
					
老大徒伤悲 [专家分:29120]  发布于 2009-01-04 18:57:00				
				恩。说说你做到什么地步了?具体的困难是什么?
							 
						
				板凳
				
					
haochen [专家分:0]  发布于 2009-01-04 19:20:00				
				刚学,还不会,老师就叫交作业
							 
						
				3 楼
				
					
一江秋水 [专家分:9680]  发布于 2009-01-05 08:02:00				
				第一问的解:
Private Sub Command1_Click()
Dim j As Long
For j = 3 To 100
  If begPrime(j) Then Debug.Print j
Next
End Sub
Function begPrime(number As Long) As Boolean
If number = 2 Then
  begPrime = True
  Exit Function
Else
  If number / 2 = number \ 2 Then Exit Function
End If
Dim i As Long
For i = 3 To number - 1
  If number / i = number \ i Then Exit Function
Next
begPrime = True
End Function
第二问的解等一下再帖。
至于“功能完整,界面尽量人性化”那就是你自己的事了,你不至于一句代码也不会写吧?
							 
						
				4 楼
				
					
一江秋水 [专家分:9680]  发布于 2009-01-05 11:01:00				
				完整的代码如下:
Private Sub Command1_Click()
Dim j As Long
Debug.Print "3-100之间的素数:";
For j = 3 To 100
  If begPrime(j) Then Debug.Print j & "、";
Next
Debug.Print
End Sub
Private Sub Command2_Click()
Dim j As Long, k As Long
Debug.Print "2-100之间所有偶数的素数和:"
For j = 2 To 100 Step 2
  For k = 1 To j \ 2 Step 2
    If begPrime(k) And begPrime(j - k) Then Debug.Print j & "=" & k & "+" & j - k
  Next
Next
End Sub
Function begPrime(number As Long) As Boolean
Dim i As Long
For i = 2 To number - 1
  If number Mod i = 0 Then Exit Function
Next
begPrime = True
End Function
还是那句话,“功能完整,界面尽量人性化”只能由你自己解决,我只解决核心问题。
							 
									
			
我来回复