Kaprekar numbers: Difference between revisions
Content added Content deleted
(→{{header|Vlang}}: Rename "Vlang" in "V (Vlang)") |
(Frink) |
||
Line 2,353: | Line 2,353: | ||
54 numbers below 1000000 are Kaprekar numbers</pre> |
54 numbers below 1000000 are Kaprekar numbers</pre> |
||
=={{header|Frink}}== |
|||
<syntaxhighlight lang="frink">isKaprekar[n, base=10] := |
|||
{ |
|||
if n==1 |
|||
return [1, 1, 1] |
|||
s = base[n^2, base] |
|||
for i=1 to length[s]-1 |
|||
{ |
|||
ls = left[s,i] |
|||
l = parseInt[ls, base] |
|||
rs = right[s,-i] |
|||
r = parseInt[rs, base] |
|||
if isPositive[l] and isPositive[r] and l+r == n |
|||
return [n, s, "$ls + $rs"] |
|||
} |
|||
return undef |
|||
} |
|||
f = {|x| isKaprekar[x] != undef} |
|||
println[formatTable[select[1 to 9999, f], "right"]] |
|||
println[] |
|||
print[length[select[1 to 999_999, f]]] |
|||
println[" Kaprekar numbers less than 1,000,000"] |
|||
println["\nKaprekar numbers in base 17:"] |
|||
results = new array |
|||
for i = 1 to 999_999 |
|||
{ |
|||
r = isKaprekar[i, 17] |
|||
if r != undef |
|||
results.push[r] |
|||
} |
|||
println[formatTable[results, "right"]]</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
1 |
|||
9 |
|||
45 |
|||
55 |
|||
99 |
|||
297 |
|||
703 |
|||
999 |
|||
2223 |
|||
2728 |
|||
4879 |
|||
4950 |
|||
5050 |
|||
5292 |
|||
7272 |
|||
7777 |
|||
9999 |
|||
54 Kaprekar numbers less than 1,000,000 |
|||
Kaprekar numbers in base 17: |
|||
1 1 1 |
|||
16 f1 f + 1 |
|||
64 e2g e + 2g |
|||
225 a52g a5 + 2g |
|||
288 gf01 gf + 01 |
|||
1536 1b43b2 1b4 + 3b2 |
|||
3377 8093b2 809 + 3b2 |
|||
4912 ggf001 ggf + 001 |
|||
7425 24e166g 24e + 166g |
|||
9280 39b1b94 39b + 1b94 |
|||
16705 b992c42 b99 + 2c42 |
|||
20736 10de32fg 10de + 32fg |
|||
30016 23593f92 2359 + 3f92 |
|||
36801 351e433g 351e + 433g |
|||
37440 37144382 3714 + 4382 |
|||
46081 52g94382 52g9 + 4382 |
|||
46720 5575433g 5575 + 433g |
|||
53505 6ga43f92 6ga4 + 3f92 |
|||
62785 9a5532fg 9a55 + 32fg |
|||
66816 aeg42c42 aeg4 + 2c42 |
|||
74241 d75f1b94 d75f + 1b94 |
|||
76096 e1f5166g e1f5 + 166g |
|||
83520 gggf0001 gggf + 0001 |
|||
266224 a2c52a07g a2c5 + 2a07g |
|||
</pre> |
|||
=={{header|GAP}}== |
=={{header|GAP}}== |