Steady squares: Difference between revisions
Content added Content deleted
(Added Haxe) |
(Added Oberon-07) |
||
Line 1,499: | Line 1,499: | ||
625² = 390625 |
625² = 390625 |
||
9376² = 87909376 |
9376² = 87909376 |
||
</pre> |
|||
=={{header|Oberon-07}}== |
|||
<syntaxhighlight lang="modula2"> |
|||
(* find some steady squares - numbers whose squares end in the number *) |
|||
(* e.g. 376^2 = 141 376 *) |
|||
MODULE SteadySquares; |
|||
IMPORT Out; |
|||
CONST maxNumber = 10000; |
|||
VAR n, powerOfTen :INTEGER; |
|||
PROCEDURE PossibleSteadySquare( r: INTEGER ); |
|||
VAR r2: INTEGER; |
|||
BEGIN |
|||
r2 := r * r; |
|||
IF ( r2 MOD powerOfTen ) = r THEN |
|||
Out.Int( r, 6 );Out.String( "^2 = " );Out.Int( r2, 1 );Out.Ln |
|||
END |
|||
END PossibleSteadySquare; |
|||
BEGIN |
|||
powerOfTen := 10; |
|||
FOR n := 0 TO maxNumber BY 10 DO |
|||
IF n = powerOfTen THEN |
|||
(* the number of digits has increased *) |
|||
powerOfTen := powerOfTen * 10 |
|||
END; |
|||
PossibleSteadySquare( n + 1 ); |
|||
PossibleSteadySquare( n + 5 ); |
|||
PossibleSteadySquare( n + 6 ) |
|||
END |
|||
END SteadySquares. |
|||
</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> |
</pre> |
||