Iccanobif primes: Difference between revisions

m
order
m (order)
Line 69:
<pre>
2 3 5 31 43 773 7951 64901 52057 393121
</pre>
 
=={{header|Python}}==
{{trans|Wren}}
<syntaxhighlight lang="python">""" rosettacode.org/wiki/Iccanobif_primes """
 
from sympy import isprime
 
 
def iccanobifs(wanted):
""" Print the series of iccanobif prime numbers up to wanted """
fib, prev, prevprev, fcount = 0, 1, 0, 0
print('First 30 Iccanobif primes:')
while fcount < wanted:
fib = prev + prevprev
prevprev = prev
prev = fib
dig = [int(c) for c in str(fib)]
candidate = sum(n * 10**i for i, n in enumerate(dig))
if isprime(candidate):
fcount += 1
dlen = len(str(candidate))
if dlen < 90:
print(candidate, f"({dlen} digit{'' if dlen == 1 else 's'})")
else:
s = str(candidate)
print(s[:30], "...", s[-29:], f'({dlen} digits)')
 
 
iccanobifs(30)
</syntaxhighlight>{{out}}
<pre>
First 30 Iccanobif primes:
2 (1 digit)
3 (1 digit)
5 (1 digit)
31 (2 digits)
43 (2 digits)
773 (3 digits)
7951 (4 digits)
64901 (5 digits)
52057 (5 digits)
393121 (6 digits)
56577108676171 (14 digits)
940647607443258103531 (21 digits)
5237879497657222310489731409575442761 (37 digits)
9026258083384996860449366072142307801963 (40 digits)
19900335674812302969315720344396951060628175943800862267761734431012073266446403 (80 digits)
778411373629674799853537498387 ... 06414225852312097783685331923 (104 digits)
377225859015676041888905465423 ... 42640418929174997072830756131 (137 digits)
757361938948761315956093082097 ... 05343825250767238644714305761 (330 digits)
178903368473328376208382371633 ... 39766460613175300695235035913 (406 digits)
923271631017291153059188123189 ... 39342926827061468856047302507 (409 digits)
504201578106980562530763299184 ... 34364678167335124247362214481 (503 digits)
305110124747393800923565587415 ... 27995099969296158361330018201 (888 digits)
468185470426936945550027667953 ... 73037342708664543144645856321 (1020 digits)
871013478530378198843208828928 ... 72170748420128396998865227391 (1122 digits)
174516560225437653361964336594 ... 30820185220100243761843652461 (1911 digits)
489893405662883994748316933771 ... 74664296802930339234215909399 (1947 digits)
127469276849582096547381559312 ... 19580690153436989647994940101 (2283 digits)
357468265826587510126602192036 ... 69346589325010735912438195633 (3727 digits)
879871752812976577066489068488 ... 66056251048748727893681871587 (4270 digits)
^C (took too long)
</pre>
 
Line 196 ⟶ 133:
879871752812976577066489068488 ... 466056251048748727893681871587 (4270 digits)
818073763671137983636050093057 ... 882798314213687506007959668569 (10527 digits)
</pre>
 
=={{header|Python}}==
{{trans|Wren}}
<syntaxhighlight lang="python">""" rosettacode.org/wiki/Iccanobif_primes """
 
from sympy import isprime
 
 
def iccanobifs(wanted):
""" Print the series of iccanobif prime numbers up to wanted """
fib, prev, prevprev, fcount = 0, 1, 0, 0
print('First 30 Iccanobif primes:')
while fcount < wanted:
fib = prev + prevprev
prevprev = prev
prev = fib
dig = [int(c) for c in str(fib)]
candidate = sum(n * 10**i for i, n in enumerate(dig))
if isprime(candidate):
fcount += 1
dlen = len(str(candidate))
if dlen < 90:
print(candidate, f"({dlen} digit{'' if dlen == 1 else 's'})")
else:
s = str(candidate)
print(s[:30], "...", s[-29:], f'({dlen} digits)')
 
 
iccanobifs(30)
</syntaxhighlight>{{out}}
<pre>
First 30 Iccanobif primes:
2 (1 digit)
3 (1 digit)
5 (1 digit)
31 (2 digits)
43 (2 digits)
773 (3 digits)
7951 (4 digits)
64901 (5 digits)
52057 (5 digits)
393121 (6 digits)
56577108676171 (14 digits)
940647607443258103531 (21 digits)
5237879497657222310489731409575442761 (37 digits)
9026258083384996860449366072142307801963 (40 digits)
19900335674812302969315720344396951060628175943800862267761734431012073266446403 (80 digits)
778411373629674799853537498387 ... 06414225852312097783685331923 (104 digits)
377225859015676041888905465423 ... 42640418929174997072830756131 (137 digits)
757361938948761315956093082097 ... 05343825250767238644714305761 (330 digits)
178903368473328376208382371633 ... 39766460613175300695235035913 (406 digits)
923271631017291153059188123189 ... 39342926827061468856047302507 (409 digits)
504201578106980562530763299184 ... 34364678167335124247362214481 (503 digits)
305110124747393800923565587415 ... 27995099969296158361330018201 (888 digits)
468185470426936945550027667953 ... 73037342708664543144645856321 (1020 digits)
871013478530378198843208828928 ... 72170748420128396998865227391 (1122 digits)
174516560225437653361964336594 ... 30820185220100243761843652461 (1911 digits)
489893405662883994748316933771 ... 74664296802930339234215909399 (1947 digits)
127469276849582096547381559312 ... 19580690153436989647994940101 (2283 digits)
357468265826587510126602192036 ... 69346589325010735912438195633 (3727 digits)
879871752812976577066489068488 ... 66056251048748727893681871587 (4270 digits)
^C (took too long)
</pre>
 
4,108

edits