First 9 prime Fibonacci number: Difference between revisions
Content added Content deleted
m (julia example) |
(→{{header|Phix}}: use primes, show fib(n), extended range) |
||
Line 87: | Line 87: | ||
<span style="color: #004080;">integer</span> <span style="color: #000000;">n</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">1</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">count</span><span style="color: #0000FF;">=</span><span style="color: #000000;">0</span> |
<span style="color: #004080;">integer</span> <span style="color: #000000;">n</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">1</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">count</span><span style="color: #0000FF;">=</span><span style="color: #000000;">0</span> |
||
<span style="color: #004080;">mpz</span> <span style="color: #000000;">f</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">mpz_init</span><span style="color: #0000FF;">()</span> |
<span style="color: #004080;">mpz</span> <span style="color: #000000;">f</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">mpz_init</span><span style="color: #0000FF;">()</span> |
||
<span style="color: # |
<span style="color: #004080;">atom</span> <span style="color: #000000;">t0</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">time</span><span style="color: #0000FF;">(),</span> <span style="color: #000000;">t1</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">time</span><span style="color: #0000FF;">()+</span><span style="color: #000000;">1</span> |
||
<span style="color: #7060A8;"> |
<span style="color: #008080;">while</span> <span style="color: #000000;">count</span><span style="color: #0000FF;"><</span><span style="color: #008080;">iff</span><span style="color: #0000FF;">(</span><span style="color: #7060A8;">platform</span><span style="color: #0000FF;">()=</span><span style="color: #004600;">JS</span><span style="color: #0000FF;">?</span><span style="color: #000000;">21</span><span style="color: #0000FF;">:</span><span style="color: #000000;">26</span><span style="color: #0000FF;">)</span> <span style="color: #008080;">do</span> |
||
<span style="color: #004080;">integer</span> <span style="color: #000000;">fn</span> <span style="color: #0000FF;">=</span> <span style="color: #008080;">iff</span><span style="color: #0000FF;">(</span><span style="color: #000000;">n</span><span style="color: #0000FF;"><</span><span style="color: #000000;">4</span><span style="color: #0000FF;">?</span><span style="color: #000000;">n</span><span style="color: #0000FF;">+</span><span style="color: #000000;">2</span><span style="color: #0000FF;">:</span><span style="color: #7060A8;">get_prime</span><span style="color: #0000FF;">(</span><span style="color: #000000;">n</span><span style="color: #0000FF;">))</span> |
|||
<span style="color: #7060A8;">mpz_fib_ui</span><span style="color: #0000FF;">(</span><span style="color: #000000;">f</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">fn</span><span style="color: #0000FF;">)</span> |
|||
<span style="color: #008080;">if</span> <span style="color: #7060A8;">mpz_prime</span><span style="color: #0000FF;">(</span><span style="color: #000000;">f</span><span style="color: #0000FF;">)</span> <span style="color: #008080;">then</span> |
<span style="color: #008080;">if</span> <span style="color: #7060A8;">mpz_prime</span><span style="color: #0000FF;">(</span><span style="color: #000000;">f</span><span style="color: #0000FF;">)</span> <span style="color: #008080;">then</span> |
||
<span style="color: #000000;">count</span> <span style="color: #0000FF;">+=</span> <span style="color: #000000;">1</span> |
<span style="color: #000000;">count</span> <span style="color: #0000FF;">+=</span> <span style="color: #000000;">1</span> |
||
<span style="color: # |
<span style="color: #004080;">string</span> <span style="color: #000000;">e</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">elapsed</span><span style="color: #0000FF;">(</span><span style="color: #7060A8;">time</span><span style="color: #0000FF;">()-</span><span style="color: #000000;">t0</span><span style="color: #0000FF;">)</span> |
||
<span style="color: #7060A8;">printf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"%2d: fib(%d) = %s (%s)\n"</span><span style="color: #0000FF;">,{</span><span style="color: #000000;">count</span><span style="color: #0000FF;">,</span><span style="color: #000000;">fn</span><span style="color: #0000FF;">,</span><span style="color: #7060A8;">shorten</span><span style="color: #0000FF;">(</span><span style="color: #7060A8;">mpz_get_str</span><span style="color: #0000FF;">(</span><span style="color: #000000;">f</span><span style="color: #0000FF;">)),</span><span style="color: #000000;">e</span><span style="color: #0000FF;">})</span> |
|||
<span style="color: #008080;">elsif</span> <span style="color: #7060A8;">platform</span><span style="color: #0000FF;">()!=</span><span style="color: #004600;">JS</span> <span style="color: #008080;">and</span> <span style="color: #7060A8;">time</span><span style="color: #0000FF;">()></span><span style="color: #000000;">t1</span> <span style="color: #008080;">then</span> |
|||
<span style="color: #7060A8;">printf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"%d\r"</span><span style="color: #0000FF;">,</span><span style="color: #000000;">fn</span><span style="color: #0000FF;">)</span> |
|||
<span style="color: #000000;">t1</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">time</span><span style="color: #0000FF;">()+</span><span style="color: #000000;">1</span> |
|||
<span style="color: #008080;">end</span> <span style="color: #008080;">if</span> |
<span style="color: #008080;">end</span> <span style="color: #008080;">if</span> |
||
<span style="color: #000000;">n</span> <span style="color: #0000FF;">+=</span> <span style="color: #000000;">1</span> |
<span style="color: #000000;">n</span> <span style="color: #0000FF;">+=</span> <span style="color: #000000;">1</span> |
||
Line 98: | Line 104: | ||
{{out}} |
{{out}} |
||
<pre> |
<pre> |
||
1: fib(3) = 2 (0s) |
|||
1: 2 |
|||
2: fib(4) = 3 (0.1s) |
|||
2: 3 |
|||
3: fib(5) = 5 (0.2s) |
|||
3: 5 |
|||
4: fib(7) = 13 (0.2s) |
|||
4: 13 |
|||
5: fib(11) = 89 (0.2s) |
|||
5: 89 |
|||
6: fib(13) = 233 (0.2s) |
|||
6: 233 |
|||
7: fib(17) = 1597 (0.2s) |
|||
7: 1597 |
|||
8: fib(23) = 28657 (0.2s) |
|||
8: 28657 |
|||
9: fib(29) = 514229 (0.2s) |
|||
9: 514229 |
|||
10: fib(43) = 433494437 (0.2s) |
|||
10: 433494437 |
|||
11: fib(47) = 2971215073 (0.2s) |
|||
11: 2971215073 |
|||
12: fib(83) = 99194853094755497 (0.2s) |
|||
12: 99194853094755497 |
|||
13: fib(131) = 1066340417491710595814572169 (0.2s) |
|||
13: 1066340417491710595814572169 |
|||
14: fib(137) = 19134702400093278081449423917 (0.2s) |
|||
14: 19134702400093278081449423917 |
|||
15: fib(359) = 47542043773469822074...62268716376935476241 (75 digits) (0.2s) |
|||
15: 475420437734698220747368027166749382927701417016557193662268716376935476241 |
|||
16: fib(431) = 52989271100609562179...55134424689676262369 (90 digits) (0.2s) |
|||
16: 529892711006095621792039556787784670197112759029534506620905162834769955134424689676262369 |
|||
17: fib(433) = 13872771278047838271...25954602593712568353 (91 digits) (0.2s) |
|||
17: 1387277127804783827114186103186246392258450358171783690079918032136025225954602593712568353 |
|||
18: fib(449) = 30617199924845450305...49015933442805665949 (94 digits) (0.2s) |
|||
18: 3061719992484545030554313848083717208111285432353738497131674799321571238149015933442805665949 |
|||
19: fib(509) = 10597999265301490732...54396195769876129909 (107 digits) (0.2s) |
|||
19: 10597999265301490732599643671505003412515860435409421932560009680142974347195483140293254396195769876129909 |
|||
20: fib(569) = 36684474316080978061...15228143777781065869 (119 digits) (0.2s) |
|||
20: 36684474316080978061473613646275630451100586901195229815270242868417768061193560857904335017879540515228143777781065869 |
|||
21: fib(571) = 96041200618922553823...31637646183008074629 (119 digits) (0.2s) |
|||
22: fib(2971) = 35710356064190986072...48642001438470316229 (621 digits) (2.8s) |
|||
23: fib(4723) = 50019563612695729290...02854387700053591957 (987 digits) (14.0s) |
|||
24: fib(5387) = 29304412869392580554...82040327194725855833 (1,126 digits) (22.4s) |
|||
25: fib(9311) = 34232086066590238613...37580645424669476289 (1,946 digits) (2 minutes and 38s) |
|||
26: fib(9677) = 10565977873308861656...95169792504550670357 (2,023 digits) (3 minutes and 3s) |
|||
</pre> |
</pre> |
||