Frobenius numbers: Difference between revisions
Content added Content deleted
(Frobenius numbers en BASIC256) |
(Frobenius numbers en PureBasic) |
||
Line 999: | Line 999: | ||
8447 |
8447 |
||
9599</pre> |
9599</pre> |
||
=={{header|PureBasic}}== |
|||
<lang PureBasic> |
|||
Procedure isPrime(v.i) |
|||
If v < = 1 : ProcedureReturn #False |
|||
ElseIf v < 4 : ProcedureReturn #True |
|||
ElseIf v % 2 = 0 : ProcedureReturn #False |
|||
ElseIf v < 9 : ProcedureReturn #True |
|||
ElseIf v % 3 = 0 : ProcedureReturn #False |
|||
Else |
|||
Protected r = Round(Sqr(v), #PB_Round_Down) |
|||
Protected f = 5 |
|||
While f <= r |
|||
If v % f = 0 Or v % (f + 2) = 0 |
|||
ProcedureReturn #False |
|||
EndIf |
|||
f + 6 |
|||
Wend |
|||
EndIf |
|||
ProcedureReturn #True |
|||
EndProcedure |
|||
OpenConsole() |
|||
pn.i = 2 |
|||
n.i = 0 |
|||
For i.i = 3 To 9999 Step 2 |
|||
If isPrime(i) |
|||
n + 1 |
|||
f.i = pn * i - pn - i |
|||
If f > 10000 |
|||
Break |
|||
EndIf |
|||
Print(Str(n) + " => " + Str(f) + #CRLF$) |
|||
pn = i |
|||
EndIf |
|||
Next i |
|||
Input() |
|||
CloseConsole() |
|||
End |
|||
</lang> |
|||
{{out}} |
|||
<pre> |
|||
1 => 1 |
|||
2 => 7 |
|||
3 => 23 |
|||
4 => 59 |
|||
5 => 119 |
|||
6 => 191 |
|||
7 => 287 |
|||
8 => 395 |
|||
9 => 615 |
|||
10 => 839 |
|||
11 => 1079 |
|||
12 => 1439 |
|||
13 => 1679 |
|||
14 => 1931 |
|||
15 => 2391 |
|||
16 => 3015 |
|||
17 => 3479 |
|||
18 => 3959 |
|||
19 => 4619 |
|||
20 => 5039 |
|||
21 => 5615 |
|||
22 => 6395 |
|||
23 => 7215 |
|||
24 => 8447 |
|||
25 => 9599 |
|||
</pre> |
|||
=={{header|Raku}}== |
=={{header|Raku}}== |