Iccanobif primes: Difference between revisions
Content added Content deleted
(Added Wren) |
(→{{header|Wren}}: Realigned with Raku output.) |
||
Line 62: | Line 62: | ||
var curr = Mpz.one |
var curr = Mpz.one |
||
var count = 0 |
var count = 0 |
||
System.print("First |
System.print("First 27 Iccanobif primes:") |
||
while (count < |
while (count < 27) { |
||
fib.add(curr, prev) |
fib.add(curr, prev) |
||
var fs = fib.toString |
var fs = fib.toString |
||
Line 69: | Line 69: | ||
if (p.probPrime(15) > 0) { |
if (p.probPrime(15) > 0) { |
||
count = count + 1 |
count = count + 1 |
||
var pc = p.toString.count |
|||
Fmt.print("$2d: $20a ($d digits)", count, p, pc) |
|||
if (fc > 40) { |
|||
Fmt.print("($d digits)", fc) |
|||
} else { |
|||
System.print() |
|||
} |
|||
} |
} |
||
prev.set(curr) |
prev.set(curr) |
||
Line 83: | Line 78: | ||
{{out}} |
{{out}} |
||
<pre> |
<pre> |
||
First |
First 27 Iccanobif primes: |
||
1: 2 |
1: 2 (1 digits) |
||
2: 3 |
2: 3 (1 digits) |
||
3: 5 |
3: 5 (1 digits) |
||
4: |
4: 31 (2 digits) |
||
5: |
5: 43 (2 digits) |
||
6: |
6: 773 (3 digits) |
||
7: |
7: 7951 (4 digits) |
||
8: |
8: 64901 (5 digits) |
||
9: |
9: 52057 (5 digits) |
||
10: |
10: 393121 (6 digits) |
||
11: 56577108676171 (14 digits) |
|||
11: 17167680177565 |
|||
12: 940647607443258103531 (21 digits) |
|||
12: 135301852344706746049 |
|||
13: 5237879497657222310489731409575442761 (37 digits) |
|||
13: 1672445759041379840132227567949787325 |
|||
14: 9026258083384996860449366072142307801963 (40 digits) |
|||
14: 3691087032412706639440686994833808526209 |
|||
15: |
15: 19900335674812302969...34431012073266446403 (80 digits) |
||
16: |
16: 77841137362967479985...52312097783685331923 (104 digits) |
||
17: |
17: 37722585901567604188...29174997072830756131 (137 digits) |
||
18: |
18: 75736193894876131595...50767238644714305761 (330 digits) |
||
19: |
19: 17890336847332837620...13175300695235035913 (406 digits) |
||
20: |
20: 92327163101729115305...27061468856047302507 (409 digits) |
||
21: |
21: 50420157810698056253...67335124247362214481 (503 digits) |
||
22: |
22: 30511012474739380092...69296158361330018201 (888 digits) |
||
23: |
23: 46818547042693694555...08664543144645856321 (1020 digits) |
||
24: |
24: 87101347853037819884...20128396998865227391 (1122 digits) |
||
25: |
25: 17451656022543765336...20100243761843652461 (1911 digits) |
||
26: 48989340566288399474...02930339234215909399 (1947 digits) |
|||
27: 12746927684958209654...53436989647994940101 (2283 digits) |
|||
</pre> |
</pre> |
Revision as of 12:17, 28 April 2023
Iccanobif primes is a draft programming task. It is not yet considered ready to be promoted as a complete task, for reasons that should be found in its talk page.
Iccanobif primes are prime numbers that, when reversed, are a Fibonacci number.
- Task
- Find and display the first 10 iccanobif primes.
- Stretch
- Find and display the digit count of the next 15 iccanobif primes.
- See also
Raku
sub abbr ($_) { (.chars < 41 ?? $_ !! .substr(0,20) ~ '..' ~ .substr(*-20)) ~ " (digits: {.chars})" }
say (++$).fmt('%2d') ~ ': ' ~ .flip.&abbr for (lazy (1,1,*+*…*).hyper.grep: {.flip.is-prime})[^25];
- Output:
1: 2 (digits: 1) 2: 3 (digits: 1) 3: 5 (digits: 1) 4: 31 (digits: 2) 5: 43 (digits: 2) 6: 773 (digits: 3) 7: 7951 (digits: 4) 8: 64901 (digits: 5) 9: 52057 (digits: 5) 10: 393121 (digits: 6) 11: 56577108676171 (digits: 14) 12: 940647607443258103531 (digits: 21) 13: 5237879497657222310489731409575442761 (digits: 37) 14: 9026258083384996860449366072142307801963 (digits: 40) 15: 19900335674812302969..34431012073266446403 (digits: 80) 16: 77841137362967479985..52312097783685331923 (digits: 104) 17: 37722585901567604188..29174997072830756131 (digits: 137) 18: 75736193894876131595..50767238644714305761 (digits: 330) 19: 17890336847332837620..13175300695235035913 (digits: 406) 20: 92327163101729115305..27061468856047302507 (digits: 409) 21: 50420157810698056253..67335124247362214481 (digits: 503) 22: 30511012474739380092..69296158361330018201 (digits: 888) 23: 46818547042693694555..08664543144645856321 (digits: 1020) 24: 87101347853037819884..20128396998865227391 (digits: 1122) 25: 17451656022543765336..20100243761843652461 (digits: 1911) 26: 48989340566288399474..02930339234215909399 (digits: 1947) 27: 12746927684958209654..53436989647994940101 (digits: 2283)
Wren
import "./gmp" for Mpz
import "./fmt" for Fmt
var fib = Mpz.new()
var p = Mpz.new()
var prev = Mpz.zero
var curr = Mpz.one
var count = 0
System.print("First 27 Iccanobif primes:")
while (count < 27) {
fib.add(curr, prev)
var fs = fib.toString
p.setStr(fs[-1..0])
if (p.probPrime(15) > 0) {
count = count + 1
var pc = p.toString.count
Fmt.print("$2d: $20a ($d digits)", count, p, pc)
}
prev.set(curr)
curr.set(fib)
}
- Output:
First 27 Iccanobif primes: 1: 2 (1 digits) 2: 3 (1 digits) 3: 5 (1 digits) 4: 31 (2 digits) 5: 43 (2 digits) 6: 773 (3 digits) 7: 7951 (4 digits) 8: 64901 (5 digits) 9: 52057 (5 digits) 10: 393121 (6 digits) 11: 56577108676171 (14 digits) 12: 940647607443258103531 (21 digits) 13: 5237879497657222310489731409575442761 (37 digits) 14: 9026258083384996860449366072142307801963 (40 digits) 15: 19900335674812302969...34431012073266446403 (80 digits) 16: 77841137362967479985...52312097783685331923 (104 digits) 17: 37722585901567604188...29174997072830756131 (137 digits) 18: 75736193894876131595...50767238644714305761 (330 digits) 19: 17890336847332837620...13175300695235035913 (406 digits) 20: 92327163101729115305...27061468856047302507 (409 digits) 21: 50420157810698056253...67335124247362214481 (503 digits) 22: 30511012474739380092...69296158361330018201 (888 digits) 23: 46818547042693694555...08664543144645856321 (1020 digits) 24: 87101347853037819884...20128396998865227391 (1122 digits) 25: 17451656022543765336...20100243761843652461 (1911 digits) 26: 48989340566288399474...02930339234215909399 (1947 digits) 27: 12746927684958209654...53436989647994940101 (2283 digits)