Quadrat special primes: Difference between revisions

Quadrat special primes in various BASIC dialents
m (Thundergnat moved page Quadrat Special Primes to Quadrat special primes)
(Quadrat special primes in various BASIC dialents)
Line 238:
Quadrat special primes 1-15999: 49
</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}}==
2,130

edits