Iccanobif primes: Difference between revisions

Content added Content deleted
(Added BASIC256, FreeBASIC, Gambas and Yabasic)
(Added Run Basic and PureBasic)
Line 238: Line 238:
End Function
End Function
</syntaxhighlight>
</syntaxhighlight>
{{out}}
<pre>Same as FreeBASIC entry.</pre>

==={{header|Run BASIC}}===
{{works with|Just BASIC}}
{{works with|Liberty BASIC}}
{{trans|FreeBASIC}}
<syntaxhighlight lang="vb">cnt = 0
prev = 0
curr = 1
print "First 11 iccanobiF primes:"
while cnt < 11
sgte = prev + curr
prev = curr
curr = sgte
rev = reverseNumber(curr)
if isPrime(rev) then
' have a prime iccanobif number
cnt = cnt + 1
print rev; " ";
end if
wend
end

function isPrime(n)
if n < 2 then isPrime = 0 : goto [exit]
if n = 2 then isPrime = 1 : goto [exit]
if n mod 2 = 0 then isPrime = 0 : goto [exit]
isPrime = 1
for i = 3 to int(n^.5) step 2
if n mod i = 0 then isPrime = 0 : goto [exit]
next i
[exit]
end function

function reverseNumber(num)
if num < 10 then reverseNumber = num: goto [exit]
reverse = 0
while num > 0
reverse = 10 * reverse + (num mod 10)
num = int(num / 10)
wend
reverseNumber = reverse
[exit]
end function</syntaxhighlight>
{{out}}
<pre>Same as FreeBASIC entry.</pre>

==={{header|PureBasic}}===
{{trans|FreeBASIC}}
<syntaxhighlight lang="purebasic">XIncludeFile "isprime.pb"

Procedure.i reverseNumber(num.i)
If num < 10 : ProcedureReturn num : EndIf
reverse.i = 0
While num > 0
reverse = 10 * reverse + num % 10
num = Int(num / 10)
Wend
ProcedureReturn reverse
EndProcedure

OpenConsole()
cnt.b = 0 : prev.i = 0 : curr.i = 1

PrintN("First 11 iccanobiF primes:")
While cnt < 11
sgte = prev + curr
prev = curr
curr = sgte
rev = reverseNumber(curr)
If isPrime(rev):
; have a prime iccanobif number
cnt + 1
Print(Str(rev) + " ")
EndIf
Wend

Input()
CloseConsole()</syntaxhighlight>
{{out}}
{{out}}
<pre>Same as FreeBASIC entry.</pre>
<pre>Same as FreeBASIC entry.</pre>