RosettaCodeData/Task/List-comprehensions/ALGOL-68/list-comprehensions.alg
Ingy döt Net db842d013d A-M baby
2013-04-10 21:29:02 -07:00

15 lines
350 B
Text

MODE XYZ = STRUCT(INT x,y,z);
OP +:= = (REF FLEX[]XYZ lhs, XYZ rhs)FLEX[]XYZ: (
[UPB lhs+1]XYZ out;
out[:UPB lhs] := lhs;
out[UPB out] := rhs;
lhs := out
);
INT n = 20;
print (([]XYZ(
FLEX[0]XYZ xyz;
FOR x TO n DO FOR y FROM x+1 TO n DO FOR z FROM y+1 TO n DO IF x*x + y*y = z*z THEN xyz +:= XYZ(x,y,z) FI OD OD OD;
xyz), new line
))