Jump to content

Pandigital prime: Difference between revisions

Pandigital prime en FreeBASIC
m (→‎{{header|Raku}}: tucked into loop)
(Pandigital prime en FreeBASIC)
Line 224:
7652413
</pre>
 
 
=={{header|FreeBASIC}}==
{{trans|Ring}}
<lang freebasic>Function isPrime(Byval n As Integer) As Boolean
If n Mod 3 = 0 Then Return False
Dim As Integer i = 5
While i * i < n
If n Mod i = 0 Then Return False : End If : i += 2
If n Mod i = 0 Then Return False : End If : i += 4
Wend
Return True
End Function
 
Dim As Integer digits = 7654321
For z As Integer = 1 To 0 Step -1
Print "The largest"; z; "..7 pandigital prime is ";
Dim As Double start = Timer
For n As Integer = digits To 0 Step -18
Dim As String cadena = Str(n)
Dim As Boolean flag = True
For i As Integer = z To 7
If Instr(cadena, Str(i)) = 0 Then
flag = False
Exit For
End If
Next i
If flag And isPrime(n) Then
Print Using "########. ##.## ms"; n; (Timer - start) * 10000
Exit For
End If
Next n
digits = digits * 10 - 9
Next z
Sleep</lang>
{{out}}
<pre>The largest 1..7 pandigital prime is 7652413. 6.32 ms
The largest 0..7 pandigital prime is 76540231. 13.95 ms</pre>
 
 
=={{header|Go}}==
2,130

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.