Pisano period: Difference between revisions
Content added Content deleted
Not a robot (talk | contribs) (Add SETL) |
Not a robot (talk | contribs) (add APL) |
||
Line 279: | Line 279: | ||
</pre> |
</pre> |
||
=={{header|APL}}== |
|||
{{works with|Dyalog APL}} |
|||
<syntaxhighlight lang="apl">pisano_period←{ |
|||
prime ← 2∘≤∧0∧.≠1↓⍳∘(⌊*∘0.5)|⊢ |
|||
select ← {(⍺⍺¨⍵)/⍵} |
|||
factors ← {⍺←2 ⋄ ⍺≥⍵×⍵:⍬ ⋄ 0=⍺|⍵:⍺,⍺∇⍵÷⍺ ⋄ (⍺+1)∇⍵} |
|||
pisanoPeriod ← {⊃⍸1 0⍷(⊢,⍵|(+/¯2∘↑))⍣(⍵×⍵),0 1} |
|||
pisanoPrime ← {(pisanoPeriod ⍺)×⍺*⍵-1} |
|||
pisano ← {∧/{⍺=0:1 ⋄ ⍺ pisanoPrime ≢⍵}⌸factors ⍵} |
|||
showPisanoPrimes ← {+⎕←⍵'pisanoPrime'⍺'→'(⍵ pisanoPrime ⍺)}¨ |
|||
_←2 showPisanoPrimes prime select ⍳15 |
|||
⎕←'' |
|||
_←1 showPisanoPrimes prime select ⍳180 |
|||
⎕←'' |
|||
⎕←'pisano ⍵ for integers ''⍵'' from 1 to 180 are:' |
|||
⎕←pisano¨12 15⍴⍳180 |
|||
}</syntaxhighlight> |
|||
{{out}} |
|||
<pre>2 pisanoPrime 2 → 6 |
|||
3 pisanoPrime 2 → 24 |
|||
5 pisanoPrime 2 → 100 |
|||
7 pisanoPrime 2 → 112 |
|||
11 pisanoPrime 2 → 110 |
|||
13 pisanoPrime 2 → 364 |
|||
2 pisanoPrime 1 → 3 |
|||
3 pisanoPrime 1 → 8 |
|||
5 pisanoPrime 1 → 20 |
|||
7 pisanoPrime 1 → 16 |
|||
11 pisanoPrime 1 → 10 |
|||
13 pisanoPrime 1 → 28 |
|||
17 pisanoPrime 1 → 36 |
|||
19 pisanoPrime 1 → 18 |
|||
23 pisanoPrime 1 → 48 |
|||
29 pisanoPrime 1 → 14 |
|||
31 pisanoPrime 1 → 30 |
|||
37 pisanoPrime 1 → 76 |
|||
41 pisanoPrime 1 → 40 |
|||
43 pisanoPrime 1 → 88 |
|||
47 pisanoPrime 1 → 32 |
|||
53 pisanoPrime 1 → 108 |
|||
59 pisanoPrime 1 → 58 |
|||
61 pisanoPrime 1 → 60 |
|||
67 pisanoPrime 1 → 136 |
|||
71 pisanoPrime 1 → 70 |
|||
73 pisanoPrime 1 → 148 |
|||
79 pisanoPrime 1 → 78 |
|||
83 pisanoPrime 1 → 168 |
|||
89 pisanoPrime 1 → 44 |
|||
97 pisanoPrime 1 → 196 |
|||
101 pisanoPrime 1 → 50 |
|||
103 pisanoPrime 1 → 208 |
|||
107 pisanoPrime 1 → 72 |
|||
109 pisanoPrime 1 → 108 |
|||
113 pisanoPrime 1 → 76 |
|||
127 pisanoPrime 1 → 256 |
|||
131 pisanoPrime 1 → 130 |
|||
137 pisanoPrime 1 → 276 |
|||
139 pisanoPrime 1 → 46 |
|||
149 pisanoPrime 1 → 148 |
|||
151 pisanoPrime 1 → 50 |
|||
157 pisanoPrime 1 → 316 |
|||
163 pisanoPrime 1 → 328 |
|||
167 pisanoPrime 1 → 336 |
|||
173 pisanoPrime 1 → 348 |
|||
179 pisanoPrime 1 → 178 |
|||
pisano ⍵ for integers '⍵' from 1 to 180 are: |
|||
1 3 8 6 20 24 16 12 24 60 10 24 28 48 40 |
|||
24 36 24 18 60 16 30 48 24 100 84 72 48 14 120 |
|||
30 48 40 36 80 24 76 18 56 60 40 48 88 30 120 |
|||
48 32 24 112 300 72 84 108 72 20 48 72 42 58 120 |
|||
60 30 48 96 140 120 136 36 48 240 70 24 148 228 200 |
|||
18 80 168 78 120 216 120 168 48 180 264 56 60 44 120 |
|||
112 48 120 96 180 48 196 336 120 300 50 72 208 84 80 |
|||
108 72 72 108 60 152 48 76 72 240 42 168 174 144 120 |
|||
110 60 40 30 500 48 256 192 88 420 130 120 144 408 360 |
|||
36 276 48 46 240 32 210 140 24 140 444 112 228 148 600 |
|||
50 36 72 240 60 168 316 78 216 240 48 216 328 120 40 |
|||
168 336 48 364 180 72 264 348 168 400 120 232 132 178 120</pre> |
|||
=={{header|C++}}== |
=={{header|C++}}== |
||
<syntaxhighlight lang="c++">#include <functional> |
<syntaxhighlight lang="c++">#include <functional> |
||
Line 481: | Line 563: | ||
50 36 72 240 60 168 316 78 216 240 48 216 328 120 40 |
50 36 72 240 60 168 316 78 216 240 48 216 328 120 40 |
||
168 336 48 364 180 72 264 348 168 400 120 232 132 178 120</pre> |
168 336 48 364 180 72 264 348 168 400 120 232 132 178 120</pre> |
||
=={{header|EasyLang}}== |
=={{header|EasyLang}}== |
||
{{trans|Go}} |
{{trans|Go}} |