Steady squares: Difference between revisions
Content added Content deleted
(→{{header|ABC}}: Better (?) code) |
(Added Haxe) |
||
Line 1,168: | Line 1,168: | ||
625 -> 390625 |
625 -> 390625 |
||
9376 -> 87909376</pre> |
9376 -> 87909376</pre> |
||
=={{header|Haxe}}== |
|||
<syntaxhighlight lang="haxe"> |
|||
class Main // steady squares |
|||
{ |
|||
static inline var MAX_NUMBER = 10000; |
|||
static function main() |
|||
{ |
|||
var powerOfTen = 10; |
|||
var pad = ' '; |
|||
var lastDigit = [ 1, 5, 6 ]; // possible final digits |
|||
var n = -10; |
|||
for ( n10 in 0...Math.floor( MAX_NUMBER / 10 ) + 1 ) { |
|||
n += 10; |
|||
if( n == powerOfTen ) { // the number of digits just increased |
|||
powerOfTen *= 10; |
|||
pad = pad.substr( 1 ); |
|||
} |
|||
for( d in 0...lastDigit.length ){ |
|||
var nd = n + lastDigit[ d ]; |
|||
var n2 = nd * nd; |
|||
if( n2 % powerOfTen == nd ){ // have a steady square |
|||
Sys.println( '$pad$nd^2 = $n2' ); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
</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|J}}== |
=={{header|J}}== |