31 lines
659 B
Text
31 lines
659 B
Text
MODULE SquareNotCube;
|
|
FROM InOut IMPORT WriteString, WriteCard, WriteLn;
|
|
|
|
CONST
|
|
Amount = 30;
|
|
VAR
|
|
CubeRoot, SquareRoot,
|
|
Cube, Square,
|
|
Seen: CARDINAL;
|
|
|
|
BEGIN
|
|
Seen := 0;
|
|
SquareRoot := 1;
|
|
CubeRoot := 1;
|
|
Square := 1;
|
|
Cube := 1;
|
|
|
|
REPEAT
|
|
SquareRoot := SquareRoot + 1;
|
|
Square := SquareRoot * SquareRoot;
|
|
WHILE Square > Cube DO
|
|
CubeRoot := CubeRoot + 1;
|
|
Cube := CubeRoot * CubeRoot * CubeRoot;
|
|
END;
|
|
IF Square # Cube THEN
|
|
Seen := Seen + 1;
|
|
WriteCard(Square, 4);
|
|
WriteLn();
|
|
END;
|
|
UNTIL Seen = Amount
|
|
END SquareNotCube.
|