Home primes: Difference between revisions

Changed iteration count from count-up to count-down to better match wikipedia. Update for modified reqs.
(Added Wren)
(Changed iteration count from count-up to count-down to better match wikipedia. Update for modified reqs.)
Line 1:
{{Clarified-review}}
 
{{draft task}}
{{Wikipedia|Home prime}}
 
 
<br>
In number theory, the '''home prime HP(n)''' of an integer '''n''' greater than 1 is the prime number obtained by repeatedly factoring the increasing concatenation of prime factors including repetitions.
 
The traditional notation has the prefix "HP" and a postfix iteration count of the number of iterations until the Home prime is found (if the count is greater than 0).
 
Prime numbers are their own Home prime;
Line 15 ⟶ 18:
HP7 = 7
 
If the integer obtained by concatenating increasing prime factors is not prime, iterate with the iteration count until you reach a prime number; Thethe Home prime.
 
HP4(2) = HP22(1) = 211
HP4(2) = 2 × 2 => 22; HP22(1) = 2 × 11 => 211; 211 is prime
HP10(4) = HP25(13) = HP55(2) = HP511(31) = 773
HP10(4) = 2 × 5 => 25; HP25(13) = 5 × 5 => 55; HP55(2) = 5 × 11 => 511; HP511(31) = 7 × 73 => 773; 773 is prime
 
 
Line 90 ⟶ 93:
 
for flat 2..20, 65 -> $m {
my ($n, $step, @steps, @factors) = $m, 0$m;
@steps.push: $n = @factors.join.Int while (@factors = prime-factors $n) > 1;
my $step = +@steps;
say "HP$m = ", (@steps.map( { "{(++$step).fmt("HP$_\(%d)")}" } ).join: ' = '),
say +(@steps[0..*-2].map( ??{ " = HP$_\({@steps.tail--$step})" !!} $m;).join: ' = '),
(+@steps > 1 ?? '' !! "HP$m"), " = ", @steps.tail;
}</lang>
{{out}}
<pre>HP2 = 2
HP3 = 3
HP4(2) = HP22(1) = HP211(2) = 211
HP5 = 5
HP6 = HP23(1) = 23
HP7 = 7
HP8(13) = HP222(112) = HP2337(211) = HP31941(310) = HP33371313(49) = HP311123771(58) = HP7149317941(67) = HP22931219729(76) = HP112084656339(85) = HP3347911118189(94) = HP11613496501723(103) = HP97130517917327(112) = HP531832651281459(12) = HP3331113965338635107(131) = 3331113965338635107
HP9(2) = HP33(1) = HP311(2) = 311
HP10(4) = HP25(13) = HP55(2) = HP511(3) = HP773(41) = 773
HP11 = 11
HP12 = HP223(1) = 223
HP13 = 13
HP14(5) = HP27(14) = HP333(23) = HP3337(32) = HP4771(4) = HP13367(51) = 13367
HP15(4) = HP35(13) = HP57(2) = HP319(3) = HP1129(41) = 1129
HP16(4) = HP2222(13) = HP211101(2) = HP3116397(3) = HP31636373(41) = 31636373
HP17 = 17
HP18 = HP233(1) = 233
HP19 = 19
HP20(15) = HP225(114) = HP3355(213) = HP51161(312) = HP114651(411) = HP3312739(510) = HP17194867(69) = HP194122073(78) = HP709273797(87) = HP39713717791(96) = HP113610337981(105) = HP733914786213(114) = HP3333723311815403(123) = HP131723655857429041(132) = HP772688237874641409(14) = HP3318308475676071413(151) = 3318308475676071413
HP65(19) = HP513(118) = HP33319(217) = HP1113233(316) = HP11101203(415) = HP332353629(514) = HP33152324247(613) = HP3337473732109(712) = HP111801316843763(811) = HP151740406071813(910) = HP31313548335458223(109) = HP3397179373752371411(118) = HP157116011350675311441(127) = HP331333391143947279384649(136) = HP11232040692636417517893491(145) = HP711175663983039633268945697(154) = HP292951656531350398312122544283(163) = HP2283450603791282934064985326977(172) = HP333297925330304453879367290955541(18) = HP1381321118321175157763339900357651(191) = 1381321118321175157763339900357651</pre>
 
=={{header|Wren}}==
10,333

edits