Numbers with prime digits whose sum is 13: Difference between revisions

Content deleted Content added
Petelomax (talk | contribs)
Petelomax (talk | contribs)
Line 171: Line 171:


=={{header|Phix}}==
=={{header|Phix}}==
<lang Phix>function unlucky(sequence set, integer needed, atom mult=1, v=0, sequence res={})
<lang Phix>function unlucky(sequence set, integer needed, mult=1, v=0, sequence res={})
if needed=0 then
if needed=0 then
res = append(res,v)
res = append(res,sprintf("%6d",v))
elsif needed>0 then
elsif needed>0 then
for i=length(set) to 1 by -1 do
for i=length(set) to 1 by -1 do
Line 182: Line 182:
end function
end function


puts(1,join_by(sort(unlucky({2,3,5,7},13)),1,11," "))</lang>
for i=6 to 6 do -- (see below)
integer p = get_prime(i)
sequence r = sort(unlucky({2,3,5,7},p)),
s = shorten(r,"numbers",3)
integer l = length(s),
m = l<length(r) -- (ie shortened?)
for j=1 to l-m do
if s[j]!="..." then s[j] = sprintf("%d",s[j]) end if
end for
printf(1,"Prime_digit-only numbers summing to %d: %s\n",{p,join(s)})
end for</lang>
Originally I thought I wouldn't need to sort the output of unlucky(), but it generates all numbers ending in 7 first, and alas (eg) 355 < 2227, not that it hurts any.
{{out}}
{{out}}
<pre>
<pre>
337 355 373 535 553 733 2227 2272 2335 2353 2533
Prime_digit-only numbers summing to 13: 337 355 373 ... 223222 232222 322222 (43 numbers)
2722 3235 3253 3325 3352 3523 3532 5233 5323 5332 7222
22225 22252 22333 22522 23233 23323 23332 25222 32233 32323 32332
33223 33232 33322 52222 222223 222232 222322 223222 232222 322222
</pre>
</pre>
I've archived a slightly more OTT version: [[Numbers_with_prime_digits_whose_sum_is_13/Phix]].
With "for i=1 to 11" you get:
<pre>
Prime_digit-only numbers summing to 2: 2
Prime_digit-only numbers summing to 3: 3
Prime_digit-only numbers summing to 5: 5 23 32
Prime_digit-only numbers summing to 7: 7 25 52 223 232 322
Prime_digit-only numbers summing to 11: 227 272 335 ... 22322 23222 32222 (19 numbers)
Prime_digit-only numbers summing to 13: 337 355 373 ... 223222 232222 322222 (43 numbers)
Prime_digit-only numbers summing to 17: 377 557 575 ... 22322222 23222222 32222222 (221 numbers)
Prime_digit-only numbers summing to 19: 577 757 775 ... 223222222 232222222 322222222 (468 numbers)
Prime_digit-only numbers summing to 23: 2777 7277 7727 ... 22322222222 23222222222 32222222222 (2,098 numbers)
Prime_digit-only numbers summing to 29: 35777 37577 37757 ... 22322222222222 23222222222222 32222222222222 (21,049 numbers)
Prime_digit-only numbers summing to 31: 37777 55777 57577 ... 223222222222222 232222222222222 322222222222222 (45,148 numbers)
</pre>
Note that the largest sum-to-37, 322222222222222222, being as it is 18 digits long, exceeds the capacity of a 64-bit float.


=={{header|Raku}}==
=={{header|Raku}}==