Jump to content

First 9 prime Fibonacci number: Difference between revisions

Added Oberon-07
(Add Refal)
(Added Oberon-07)
 
Line 1,332:
<pre>The first 9 prime Fibonacci numbers are:
2 3 5 13 89 233 1597 28657 514229
</pre>
 
=={{header|Oberon-07}}==
<syntaxhighlight lang="modula2">
MODULE PrimeFibonacciNumbers; (* show the first 9 prime fibonacci numbers *)
IMPORT Out, Math;
 
CONST toFind = 9;
VAR pCount, prev, curr, next :INTEGER;
 
(* returns true if n is prime, false otherwise - uses trial division *)
PROCEDURE isPrime( n :INTEGER ):BOOLEAN;
VAR i, rootN :INTEGER;
prime :BOOLEAN;
BEGIN
IF n < 3 THEN prime := n = 2
ELSIF ~ ODD( n ) THEN prime := FALSE
ELSE
prime := TRUE;
i := 3;
rootN := FLOOR( Math.sqrt( FLT( n ) ) );
WHILE ( i <= rootN ) & prime DO
prime := n MOD i # 0;
i := i + 2
END
END
RETURN prime
END isPrime ;
 
BEGIN
pCount := 0;
prev := 0;
curr := 1;
WHILE pCount < toFind DO
next := prev + curr;
prev := curr;
curr := next;
IF isPrime( curr ) THEN
pCount := pCount + 1;
Out.String( " " );Out.Int( curr, 0 )
END
END
END PrimeFibonacciNumbers.
</syntaxhighlight>
{{out}}
<pre>
2 3 5 13 89 233 1597 28657 514229
</pre>
 
3,043

edits

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