Iccanobif primes: Difference between revisions
Content added Content deleted
Thundergnat (talk | contribs) m (→{{header|Raku}}: doh. display number in correct orientation) |
(Added Wren) |
||
Line 49: | Line 49: | ||
26: 48989340566288399474..02930339234215909399 (digits: 1947) |
26: 48989340566288399474..02930339234215909399 (digits: 1947) |
||
27: 12746927684958209654..53436989647994940101 (digits: 2283) |
27: 12746927684958209654..53436989647994940101 (digits: 2283) |
||
</pre> |
|||
=={{header|Wren}}== |
|||
{{libheader|Wren-gmp}} |
|||
{{libheader|Wren-fmt}} |
|||
<syntaxhighlight lang="ecmascript">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 25 Iccanobif primes:") |
|||
while (count < 25) { |
|||
fib.add(curr, prev) |
|||
var fs = fib.toString |
|||
p.setStr(fs[-1..0]) |
|||
if (p.probPrime(15) > 0) { |
|||
count = count + 1 |
|||
Fmt.write("$2d: $20a ", count, fib) |
|||
var fc = fs.count |
|||
if (fc > 40) { |
|||
Fmt.print("($d digits)", fc) |
|||
} else { |
|||
System.print() |
|||
} |
|||
} |
|||
prev.set(curr) |
|||
curr.set(fib) |
|||
}</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
First 25 Iccanobif primes: |
|||
1: 2 |
|||
2: 3 |
|||
3: 5 |
|||
4: 13 |
|||
5: 34 |
|||
6: 377 |
|||
7: 1597 |
|||
8: 10946 |
|||
9: 75025 |
|||
10: 121393 |
|||
11: 17167680177565 |
|||
12: 135301852344706746049 |
|||
13: 1672445759041379840132227567949787325 |
|||
14: 3691087032412706639440686994833808526209 |
|||
15: 30464466237021013443...96920321847653300991 (80 digits) |
|||
16: 32913358638779021325...58997476926373114877 (104 digits) |
|||
17: 13165703827079947192...88140676510958522773 (137 digits) |
|||
18: 16750341744683276705...59513167849839163757 (330 digits) |
|||
19: 31953053259600357131...02673823374863309871 (406 digits) |
|||
20: 70520374065886416072...50351192710136172329 (409 digits) |
|||
21: 18441226374242153376...35265089601875102405 (503 digits) |
|||
22: 10281003316385169296...29008393747421011503 (888 digits) |
|||
23: 12365854644134546680...55549639624074581864 (1020 digits) |
|||
24: 19372256889969382102...48891873035874310178 (1122 digits) |
|||
25: 16425634816734200102...63356734522065615471 (1911 digits) |
|||
</pre> |
</pre> |
Revision as of 11:46, 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 25 Iccanobif primes:")
while (count < 25) {
fib.add(curr, prev)
var fs = fib.toString
p.setStr(fs[-1..0])
if (p.probPrime(15) > 0) {
count = count + 1
Fmt.write("$2d: $20a ", count, fib)
var fc = fs.count
if (fc > 40) {
Fmt.print("($d digits)", fc)
} else {
System.print()
}
}
prev.set(curr)
curr.set(fib)
}
- Output:
First 25 Iccanobif primes: 1: 2 2: 3 3: 5 4: 13 5: 34 6: 377 7: 1597 8: 10946 9: 75025 10: 121393 11: 17167680177565 12: 135301852344706746049 13: 1672445759041379840132227567949787325 14: 3691087032412706639440686994833808526209 15: 30464466237021013443...96920321847653300991 (80 digits) 16: 32913358638779021325...58997476926373114877 (104 digits) 17: 13165703827079947192...88140676510958522773 (137 digits) 18: 16750341744683276705...59513167849839163757 (330 digits) 19: 31953053259600357131...02673823374863309871 (406 digits) 20: 70520374065886416072...50351192710136172329 (409 digits) 21: 18441226374242153376...35265089601875102405 (503 digits) 22: 10281003316385169296...29008393747421011503 (888 digits) 23: 12365854644134546680...55549639624074581864 (1020 digits) 24: 19372256889969382102...48891873035874310178 (1122 digits) 25: 16425634816734200102...63356734522065615471 (1911 digits)