First 9 prime Fibonacci number: Difference between revisions

→‎{{header|Phix}}: use primes, show fib(n), extended range
m (julia example)
(→‎{{header|Phix}}: use primes, show fib(n), extended range)
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;">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: #008080004080;">whileatom</span> <span style="color: #000000;">countt0</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">time</span><span style="color: #0000FF;">(),</span> <span style="color: #000000;">20t1</span> <span style="color: #0080800000FF;">=</span> <span style="color: #7060A8;">time</span><span style="color: #0000FF;">()+</span><span style="color: #000000;">do1</span>
<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;">mpz_fib_uiplatform</span><span style="color: #0000FF;">()=</span><span style="color: #000000004600;">fJS</span><span style="color: #0000FF;">,?</span><span style="color: #000000;">21</span><span style="color: #0000FF;">:</span><span style="color: #000000;">n26</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: #000000;">count</span> <span style="color: #0000FF;">+=</span> <span style="color: #000000;">1</span>
<span style="color: #7060A8004080;">printfstring</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1e</span> <span style="color: #0000FF;">,</span><span style="color: #008000;">"%2d: %s\n"</span><span style="color: #0000FF;">,{</span><span style="color: #0000007060A8;">countelapsed</span><span style="color: #0000FF;">,(</span><span style="color: #7060A8;">mpz_get_strtime</span><span style="color: #0000FF;">()-</span><span style="color: #000000;">ft0</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: #000000;">n</span> <span style="color: #0000FF;">+=</span> <span style="color: #000000;">1</span>
Line 98 ⟶ 104:
{{out}}
<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>
 
7,803

edits