Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
68
Task/Truncatable-primes/PureBasic/truncatable-primes.basic
Normal file
68
Task/Truncatable-primes/PureBasic/truncatable-primes.basic
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
#MaxLim = 999999
|
||||
|
||||
Procedure is_Prime(n)
|
||||
If n<=1 : ProcedureReturn #False
|
||||
ElseIf n<4 : ProcedureReturn #True
|
||||
ElseIf n%2=0: ProcedureReturn #False
|
||||
ElseIf n<9 : ProcedureReturn #True
|
||||
ElseIf n%3=0: ProcedureReturn #False
|
||||
Else
|
||||
Protected r=Round(Sqr(n),#PB_Round_Down)
|
||||
Protected f=5
|
||||
While f<=r
|
||||
If n%f=0 Or n%(f+2)=0
|
||||
ProcedureReturn #False
|
||||
EndIf
|
||||
f+6
|
||||
Wend
|
||||
EndIf
|
||||
ProcedureReturn #True
|
||||
EndProcedure
|
||||
|
||||
Procedure TruncateLeft(n)
|
||||
Protected s.s=Str(n), l=Len(s)-1
|
||||
If Not FindString(s,"0",1)
|
||||
While l>0
|
||||
s=Right(s,l)
|
||||
If Not is_Prime(Val(s))
|
||||
ProcedureReturn #False
|
||||
EndIf
|
||||
l-1
|
||||
Wend
|
||||
ProcedureReturn #True
|
||||
EndIf
|
||||
EndProcedure
|
||||
|
||||
Procedure TruncateRight(a)
|
||||
Repeat
|
||||
a/10
|
||||
If Not a
|
||||
Break
|
||||
ElseIf Not is_Prime(a) Or a%10=0
|
||||
ProcedureReturn #False
|
||||
EndIf
|
||||
ForEver
|
||||
ProcedureReturn #True
|
||||
EndProcedure
|
||||
|
||||
i=#MaxLim
|
||||
Repeat
|
||||
If is_Prime(i)
|
||||
If Not truncateleft And TruncateLeft(i)
|
||||
truncateleft=i
|
||||
EndIf
|
||||
If Not truncateright And TruncateRight(i)
|
||||
truncateright=i
|
||||
EndIf
|
||||
EndIf
|
||||
If truncateleft And truncateright
|
||||
Break
|
||||
Else
|
||||
i-2
|
||||
EndIf
|
||||
Until i<=0
|
||||
|
||||
x.s="Largest TruncateLeft= "+Str(truncateleft)
|
||||
y.s="Largest TruncateRight= "+Str(truncateright)
|
||||
|
||||
MessageRequester("Truncatable primes",x+#CRLF$+y)
|
||||
Loading…
Add table
Add a link
Reference in a new issue