Steady squares: Difference between revisions
Content added Content deleted
(Added PL/0) |
Not a robot (talk | contribs) (Add Miranda) |
||
Line 1,210: | Line 1,210: | ||
625**2 = 390625 |
625**2 = 390625 |
||
9376**2 = 87909376</pre> |
9376**2 = 87909376</pre> |
||
=={{header|Miranda}}== |
|||
<syntaxhighlight lang="miranda">main :: [sys_message] |
|||
main = [Stdout (lay (map showsteady (takewhile (< 10000) steadies)))] |
|||
where showsteady n = shownum n ++ "^2 = " ++ shownum (n^2) |
|||
steadies :: [num] |
|||
steadies = filter steady [1..] |
|||
steady :: num->bool |
|||
steady n = n = n^2 mod 10^numdigits n |
|||
numdigits :: num->num |
|||
numdigits n = 1, if n<10 |
|||
= 1 + numdigits (n div 10), otherwise</syntaxhighlight> |
|||
{{out}} |
|||
<pre>1^2 = 1 |
|||
5^2 = 25 |
|||
6^2 = 36 |
|||
25^2 = 625 |
|||
76^2 = 5776 |
|||
376^2 = 141376 |
|||
625^2 = 390625 |
|||
9376^2 = 87909376</pre> |
|||
=={{header|Perl}}== |
=={{header|Perl}}== |