Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,45 @@
|
|||
#include "isprime.bas"
|
||||
|
||||
Function PrimalityPretest(k As Integer) As Boolean
|
||||
Dim As Integer ppp(1 To 8) = {3,5,7,11,13,17,19,23}
|
||||
For i As Integer = 1 To Ubound(ppp)
|
||||
If k Mod ppp(i) = 0 Then Return (k <= 23)
|
||||
Next i
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Function isChernick(n As Integer, m As Integer) As Boolean
|
||||
Dim As Integer i, t = 9 * m
|
||||
|
||||
If Not PrimalityPretest(6 * m + 1) Then Return False
|
||||
If Not PrimalityPretest(12 * m + 1) Then Return False
|
||||
|
||||
For i = 1 To n-1
|
||||
If Not PrimalityPretest(t * (2 ^ i) + 1) Then Return False
|
||||
Next i
|
||||
|
||||
If Not isPrime(6 * m + 1) Then Return False
|
||||
If Not isPrime(12 * m + 1) Then Return False
|
||||
|
||||
For i = 1 To n - 2
|
||||
If Not isPrime(t * (2 ^ i) + 1) Then Return False
|
||||
Next i
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Dim As Uinteger multiplier, k, m = 1
|
||||
For n As Integer = 3 To 9
|
||||
multiplier = Iif (n > 4, 2 ^ (n-4), 1)
|
||||
If n > 5 Then multiplier *= 5
|
||||
|
||||
k = 1
|
||||
Do
|
||||
m = k * multiplier
|
||||
If isChernick(n, m) Then
|
||||
Print "a(" & n & ") has m = " & m
|
||||
Exit Do
|
||||
End If
|
||||
k += 1
|
||||
Loop
|
||||
Next n
|
||||
Sleep
|
||||
Loading…
Add table
Add a link
Reference in a new issue