Anonymous user
Pisano period: Difference between revisions
→{{header|REXX}}: added/changed whitespace and comments, simplified code.
(→{{header|REXX}}: added/changed whitespace and comments, simplified code.) |
|||
Line 1,349:
<lang rexx>/*REXX pgm calculates pisano period for a range of N, and pisanoPrime(N,m) [for primes]*/
numeric digits 500 /*ensure enough decimal digits for Fib.*/
parse arg
if
if
if
call
do
say ' pisanoPrime('right(p,
end /*pp*/▼
▲ do p=1 for lim2; if \isPrime(p) then iterate /*Not prime? Then skip this number*/
▲say center(' pisano numbers for 1──►'lim3" ", 20*4 - 1, "═") /*display a title. */
$=
do j=1 for
if j//20==0 then do; say substr($, 2); $=; end /*
end
say substr($, 2) /*possible display any residuals──►term*/
exit
/*──────────────────────────────────────────────────────────────────────────────────────*/
fib.0= 0; fib.1= 1;
do k=2 for x-1; a= k-1; b= k-2;
/*──────────────────────────────────────────────────────────────────────────────────────*/
▲ end /*j*/; return fib.j
/*──────────────────────────────────────────────────────────────────────────────────────*/
pisano: procedure expose @. fib.; parse arg m; if m==1 then do; @.m=1; return 1; end
do
end /*
/*──────────────────────────────────────────────────────────────────────────────────────*/
pisanoPrime: procedure expose @. fib.; parse arg m,n; return
{{out|output|text= when using the default inputs:}}
Line 1,395 ⟶ 1,389:
<pre style="font-size:75%">
pisanoPrime( 2, 2) = 6
pisanoPrime( 3, 2) = 24
pisanoPrime( 5, 2) = 100
pisanoPrime( 7, 2) = 112
pisanoPrime( 11, 2) = 110
pisanoPrime( 13, 2) = 364
pisanoPrime( 2, 1) = 3
|