عرض مشاركة واحدة
قديم 11-14-2007, 08:00 PM   #3
الزاهل
حاسبكو مبتدئ
 
الصورة الرمزية الزاهل
افتراضي مشاركة: عاجل من فضلكم

هذا كود لطباعة الأعداد الأولية حتى 100 وفكرته بسيطة... والأعداد الأولية هي التي لا تقبل القسمة إلا على نفسها والواحد.

كود:
Private Sub Form_Load()
Dim prime(100) As Boolean
Dim i As Integer, i2 As Integer, max As Integer

max = 100

'نفترض في البداية أن كل الأرقام أولية
For i = 2 To max
        prime(i) = True
Next

' نبدأ من عند الرقم 2
' فنؤشر على كل مضاعفاته بأنها ليست أولية
' نكرر الخطوة السابقة لجميع الأرقام التالية حتى الرقم الذي يساوي جذر الحد الأعلى
For i = 2 To Sqr(max)
    For i2 = (i ^ 2) To max Step i
        prime(i2) = False
    Next
Next

' نطبع الأعداد الأولية
' وهي التي سلمت من إشارة False
' بمعنى التي ليس لها قابلية للقسمة إلا على نفسه أو الواحد
For i = 2 To max
    If prime(i) = True Then MsgBox i
Next

End Sub
  رد مع اقتباس