Steady squares: Difference between revisions
Content added Content deleted
(Created Nim solution.) |
|||
Line 1,354: | Line 1,354: | ||
625^2 = 390625 |
625^2 = 390625 |
||
9376^2 = 87909376</pre> |
9376^2 = 87909376</pre> |
||
=={{header|Nim}}== |
|||
<syntaxhighlight lang="Nim">import std/[algorithm, strutils] |
|||
var ends = @["1", "5", "6"] |
|||
var steady = @[1, 5, 6] |
|||
while ends.len != 0: |
|||
var newEnds: seq[string] |
|||
for e in ends: |
|||
for d in '1'..'9': |
|||
let s = d & e |
|||
let n = parseInt(s) |
|||
if n >= 10_000: break |
|||
if ($(n * n)).endsWith(s): |
|||
steady.add n |
|||
newEnds.add s |
|||
ends = newEnds |
|||
echo "Steady squares under 10_000: " |
|||
for n in sorted(steady): |
|||
echo n, "² = ", n * n |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre>Steady squares under 10_000: |
|||
1² = 1 |
|||
5² = 25 |
|||
6² = 36 |
|||
25² = 625 |
|||
76² = 5776 |
|||
376² = 141376 |
|||
625² = 390625 |
|||
9376² = 87909376 |
|||
</pre> |
|||
=={{header|Perl}}== |
=={{header|Perl}}== |