返回列表 上一主題 發帖

顯示數值不跳格

Sub TEST_1()
n = Range("E1")
For i = 3 To n Step 2  '可減一半的迴圈
    For j = 2 To n - 1
        P = i Mod j
        If P = 0 And i <> j Then Exit For
    Next j
    If P > 0 Then r = r + 1: Cells(r, 1) = i
Next i
End Sub

找質數的, 可google, 有更多效能較好的方式

TOP

或試試:
Sub TEST_1()
n = Range("E1")
For i = 3 To n Step 2
    For j = 2 To Int(Sqr(i)) + 1
        P = i Mod j
        If P = 0 Then Exit For
    Next j
    If P > 0 Then r = r + 1: Cells(r, 1) = i
Next i
End Sub

TOP

回復 8# fangsc

If P > 0 Then r = r + 1: Cells(r, 1) = i

等同
If P > 0 Then
r = r + 1
Cells(r, 1) = i
END IF

TOP

        靜思自在 : 信心、毅力、勇氣三者具備,則天下沒有做不成的事。
返回列表 上一主題