Data update
This commit is contained in:
parent
81fd053722
commit
52a6ef48dd
10248 changed files with 63654 additions and 6775 deletions
|
|
@ -1,24 +1,45 @@
|
|||
Function isPrime(n As Uinteger) As Boolean
|
||||
Dim As Uinteger i
|
||||
For i = 2 To Sqr(n)
|
||||
If n Mod i = 0 Then Return False
|
||||
Next i
|
||||
Return True
|
||||
Sub primeSieve(limit As Uinteger, primes() As Uinteger)
|
||||
Dim As Uinteger i, j
|
||||
Dim As Uinteger sieve(limit)
|
||||
|
||||
For i = 2 To limit
|
||||
sieve(i) = 1
|
||||
Next
|
||||
|
||||
For i = 2 To limit
|
||||
If sieve(i) Then
|
||||
Redim Preserve primes(Ubound(primes) + 1)
|
||||
primes(Ubound(primes)) = i
|
||||
For j = i * i To limit Step i
|
||||
sieve(j) = 0
|
||||
Next
|
||||
End If
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Function phi(x As Uinteger, a As Uinteger, primes() As Uinteger) As Uinteger
|
||||
If a <= 1 Then Return Iif(a < 1, x, x - (x \ 2))
|
||||
|
||||
Dim As Uinteger pa = primes(a - 1)
|
||||
If x <= pa Then Return 1
|
||||
|
||||
Return phi(x, a - 1, primes()) - phi(x \ pa, a - 1, primes())
|
||||
End Function
|
||||
|
||||
Dim As Uinteger n, i, j, count
|
||||
Dim Shared As Ulongint primes(1e8)
|
||||
n = 1
|
||||
Function pi(n As Uinteger) As Uinteger
|
||||
If n < 3 Then Return Iif(n < 2, 0, 1)
|
||||
|
||||
Dim As Uinteger primes()
|
||||
primeSieve(Int(Sqr(n)), primes())
|
||||
|
||||
Dim As Uinteger a = Ubound(primes) + 1
|
||||
Return phi(n, a, primes()) + a - 1
|
||||
End Function
|
||||
|
||||
Dim As Uinteger i, n = 1
|
||||
For i = 0 To 9
|
||||
count = 0
|
||||
For j = 2 To n
|
||||
If isPrime(j) Then
|
||||
count += 1
|
||||
primes(count) = j
|
||||
End If
|
||||
Next j
|
||||
Print "10^"; i; " "; count
|
||||
Print "10^" & i & " " & pi(n)
|
||||
n *= 10
|
||||
Next i
|
||||
Next
|
||||
|
||||
Sleep
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue