Quadrat special primes: Difference between revisions
Content added Content deleted
Thundergnat (talk | contribs) m (Thundergnat moved page Quadrat Special Primes to Quadrat special primes) |
(Quadrat special primes in various BASIC dialents) |
||
Line 238: | Line 238: | ||
Quadrat special primes 1-15999: 49 |
Quadrat special primes 1-15999: 49 |
||
</pre> |
</pre> |
||
=={{header|BASIC}}== |
|||
==={{header|BASIC256}}=== |
|||
<lang BASIC256>function isPrime(v) |
|||
if v < 2 then return False |
|||
if v mod 2 = 0 then return v = 2 |
|||
if v mod 3 = 0 then return v = 3 |
|||
d = 5 |
|||
while d * d <= v |
|||
if v mod d = 0 then return False else d += 2 |
|||
end while |
|||
return True |
|||
end function |
|||
p = 2 |
|||
j = 1 |
|||
print 2; " "; |
|||
while True |
|||
while True |
|||
if isPrime(p + j*j) then exit while |
|||
j += 1 |
|||
end while |
|||
p += j*j |
|||
if p > 16000 then exit while |
|||
print p; " "; |
|||
j = 1 |
|||
end while |
|||
end</lang> |
|||
==={{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() |
|||
p.i = 2 |
|||
j.i = 1 |
|||
Print("2" + #TAB$) |
|||
Repeat |
|||
Repeat |
|||
If isPrime(p + j*j) |
|||
Break |
|||
EndIf |
|||
j + 1 |
|||
ForEver |
|||
p + j*j |
|||
If p > 16000 |
|||
Break |
|||
EndIf |
|||
Print(Str(p) + #TAB$) |
|||
j = 1 |
|||
ForEver |
|||
Input() |
|||
CloseConsole()</lang> |
|||
==={{header|Yabasic}}=== |
|||
<lang yabasic>sub isPrime(v) |
|||
if v < 2 then return False : fi |
|||
if mod(v, 2) = 0 then return v = 2 : fi |
|||
if mod(v, 3) = 0 then return v = 3 : fi |
|||
d = 5 |
|||
while d * d <= v |
|||
if mod(v, d) = 0 then return False else d = d + 2 : fi |
|||
wend |
|||
return True |
|||
end sub |
|||
p = 2 |
|||
j = 1 |
|||
print 2, " "; |
|||
do |
|||
do |
|||
if isPrime(p + j*j) then break : fi |
|||
j = j + 1 |
|||
loop |
|||
p = p + j*j |
|||
if p > 16000 then break : fi |
|||
print p, " "; |
|||
j = 1 |
|||
loop |
|||
end</lang> |
|||
=={{header|Factor}}== |
=={{header|Factor}}== |