Steady squares: Difference between revisions

(Added Algol 60)
Line 58:
begin comment find steady squares - numbers whose square ends in the number
e.g.: 376^2 = 141 376 ;
 
comment checks wheher n^2 mod p10 = n, i.e. n is a steady square
displays it if it is ;
procedure possibleSteadySuare ( n, p10 ); value n, p10
; integer n, p10
;
begin
integer m, n2;
n2 := n * n;
m := n2 - ( ( n2 % p10 ) * p10 ) ;
if m = n then begin
outinteger( 1, n )
end
end possibleSteadySquare ;
 
integer powerOfTen, p;
Line 78 ⟶ 64:
comment note the final digit must be 1, 5 or 6 ;
for p := 0 step 10 until 10 000 do begin
integer m, n2d;
if p = powerOfTen then begin
comment number of digits havehas increased ;
powerOfTen := powerOfTen * 10
end;
possibleSteadySuare(for pd +:= 1, powerOfTen5, 6 do );begin
possibleSteadySuare( p + 5 integer m, powerOfTenn, )n2;
possibleSteadySuare( p + 6, powerOfTenn := p + )d;
displaysn2 it:= ifn it is* n;
m := n2 - ( ( n2 % p10powerOfTen ) * p10powerOfTen ) ;
if m = n then beginoutinteger( 1, n )
end
end
end
3,022

edits