Home primes: Difference between revisions
Content added Content deleted
m (→{{header|Wren}}: Minor tidy) |
(Add PARI/GP implementation) |
||
Line 673: | Line 673: | ||
HP20(15) = HP225(14) = HP3355(13) = HP51161(12) = HP114651(11) = HP3312739(10) = HP17194867(9) = HP194122073(8) = HP709273797(7) = HP39713717791(6) = HP113610337981(5) = HP733914786213(4) = HP3333723311815403(3) = HP131723655857429041(2) = HP772688237874641409(1) = 3318308475676071413 |
HP20(15) = HP225(14) = HP3355(13) = HP51161(12) = HP114651(11) = HP3312739(10) = HP17194867(9) = HP194122073(8) = HP709273797(7) = HP39713717791(6) = HP113610337981(5) = HP733914786213(4) = HP3333723311815403(3) = HP131723655857429041(2) = HP772688237874641409(1) = 3318308475676071413 |
||
HP65(19) = HP513(18) = HP33319(17) = HP1113233(16) = HP11101203(15) = HP332353629(14) = HP33152324247(13) = HP3337473732109(12) = HP111801316843763(11) = HP151740406071813(10) = HP31313548335458223(9) = HP3397179373752371411(8) = HP157116011350675311441(7) = HP331333391143947279384649(6) = HP11232040692636417517893491(5) = HP711175663983039633268945697(4) = HP292951656531350398312122544283(3) = HP2283450603791282934064985326977(2) = HP333297925330304453879367290955541(1) = 1381321118321175157763339900357651</pre> |
HP65(19) = HP513(18) = HP33319(17) = HP1113233(16) = HP11101203(15) = HP332353629(14) = HP33152324247(13) = HP3337473732109(12) = HP111801316843763(11) = HP151740406071813(10) = HP31313548335458223(9) = HP3397179373752371411(8) = HP157116011350675311441(7) = HP331333391143947279384649(6) = HP11232040692636417517893491(5) = HP711175663983039633268945697(4) = HP292951656531350398312122544283(3) = HP2283450603791282934064985326977(2) = HP333297925330304453879367290955541(1) = 1381321118321175157763339900357651</pre> |
||
=={{header|PARI/GP}}== |
|||
{{trans|Julia}} |
|||
<syntaxhighlight lang="PARI/GP"> |
|||
homeprimechain(n) = { |
|||
my(chain = [], concat_result, factors, factor_str); |
|||
while (!isprime(n), |
|||
chain = concat(chain, n); /* Append n to the chain */ |
|||
factors = factor(n); |
|||
/* Correctly build the concatenated string of factors */ |
|||
factor_str = Str(concat(Vec(vector(#factors~, i, |
|||
concat(Vec(concat(vector(factors[i, 2], j, Str(factors[i, 1]))))))))); |
|||
concat_result = factor_str; |
|||
\\print("concat_result=" concat_result); |
|||
n = eval(concat_result); /* Convert string back to number */ |
|||
); |
|||
concat(chain, n); /* Append the final prime to the chain */ |
|||
} |
|||
printHPiter(n, numperline = 4) = { |
|||
my(chain = homeprimechain(n), len = #chain, i); |
|||
for (i = 1, len, |
|||
if (i < len, |
|||
print1("HP" , chain[i] , " (" , len - i , ") = " , if(i % numperline == 0, "\n", "")), |
|||
print(chain[i], " is prime.\n\n"); |
|||
); |
|||
); |
|||
} |
|||
{ |
|||
/* Iterate over a set of numbers */ |
|||
forstep(i = 2, 20, 1, print("Home Prime chain for ", i, ": "); printHPiter(i);); |
|||
printHPiter(65); |
|||
} |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
Home Prime chain for 2: |
|||
2 is prime. |
|||
Home Prime chain for 3: |
|||
3 is prime. |
|||
Home Prime chain for 4: |
|||
HP4 (2) = HP22 (1) = 211 is prime. |
|||
Home Prime chain for 5: |
|||
5 is prime. |
|||
Home Prime chain for 6: |
|||
HP6 (1) = 23 is prime. |
|||
Home Prime chain for 7: |
|||
7 is prime. |
|||
Home Prime chain for 8: |
|||
HP8 (13) = HP222 (12) = HP2337 (11) = HP31941 (10) = |
|||
HP33371313 (9) = HP311123771 (8) = HP7149317941 (7) = HP22931219729 (6) = |
|||
HP112084656339 (5) = HP3347911118189 (4) = HP11613496501723 (3) = HP97130517917327 (2) = |
|||
HP531832651281459 (1) = 3331113965338635107 is prime. |
|||
Home Prime chain for 9: |
|||
HP9 (2) = HP33 (1) = 311 is prime. |
|||
Home Prime chain for 10: |
|||
HP10 (4) = HP25 (3) = HP55 (2) = HP511 (1) = |
|||
773 is prime. |
|||
Home Prime chain for 11: |
|||
11 is prime. |
|||
Home Prime chain for 12: |
|||
HP12 (1) = 223 is prime. |
|||
Home Prime chain for 13: |
|||
13 is prime. |
|||
Home Prime chain for 14: |
|||
HP14 (5) = HP27 (4) = HP333 (3) = HP3337 (2) = |
|||
HP4771 (1) = 13367 is prime. |
|||
Home Prime chain for 15: |
|||
HP15 (4) = HP35 (3) = HP57 (2) = HP319 (1) = |
|||
1129 is prime. |
|||
Home Prime chain for 16: |
|||
HP16 (4) = HP2222 (3) = HP211101 (2) = HP3116397 (1) = |
|||
31636373 is prime. |
|||
Home Prime chain for 17: |
|||
17 is prime. |
|||
Home Prime chain for 18: |
|||
HP18 (1) = 233 is prime. |
|||
Home Prime chain for 19: |
|||
19 is prime. |
|||
Home Prime chain for 20: |
|||
HP20 (15) = HP225 (14) = HP3355 (13) = HP51161 (12) = |
|||
HP114651 (11) = HP3312739 (10) = HP17194867 (9) = HP194122073 (8) = |
|||
HP709273797 (7) = HP39713717791 (6) = HP113610337981 (5) = HP733914786213 (4) = |
|||
HP3333723311815403 (3) = HP131723655857429041 (2) = HP772688237874641409 (1) = 3318308475676071413 is prime. |
|||
HP65 (19) = HP513 (18) = HP33319 (17) = HP1113233 (16) = |
|||
HP11101203 (15) = HP332353629 (14) = HP33152324247 (13) = HP3337473732109 (12) = |
|||
HP111801316843763 (11) = HP151740406071813 (10) = HP31313548335458223 (9) = HP3397179373752371411 (8) = |
|||
HP157116011350675311441 (7) = HP331333391143947279384649 (6) = HP11232040692636417517893491 (5) = HP711175663983039633268945697 (4) = |
|||
HP292951656531350398312122544283 (3) = HP2283450603791282934064985326977 (2) = HP333297925330304453879367290955541 (1) = 1381321118321175157763339900357651 is prime. |
|||
</pre> |
|||
=={{header|Perl}}== |
=={{header|Perl}}== |