Steady squares: Difference between revisions

Add Miranda
(Added PL/0)
(Add Miranda)
Line 1,210:
625**2 = 390625
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}}==
2,093

edits