Link zu Maxima Online: http://maxima-online.org/?inc=r-1210189933
(%i1) "*"/* Quelle der Aufgabstellung: http://www.zum.de/Faecher/ Materialien/dorner/manuskripthtml/quadratsummen/qzsummen.html */; (%o1) * (%i2) "*"/* Die natürlichen Zahlen von 1 bis zu einer bestimmten Obergrenze sind als Summe von Quadratzahlen darzustellen */; (%o2) * (%i3) "*"/* Eingabe der Obergrenze */; (%o3) * (%i4) og:10/* diese Obergrenze darf verändert werden */; (%o4) 10 (%i5) "*"/* Verarbeitung */; (%o5) * (%i6) liste:[]; (%o6) [] (%i7) for z:1 thru og do block(for x1:0 thru floor(sqrt(z)) do for x2:0 thru floor(sqrt(z)) do for x3:0 thru floor(sqrt(z)) do for x4:0 thru floor(sqrt(z)) do if x1^2+x2^2+x3^2+x4^2=z then liste:append(liste,[[z,sort([x1,x2,x3,x4])]])); (%o7) done (%i8) "*"/* Ausgabe */; (%o8) * (%i9) transpose(listify(setify(liste))); [ [1, [0, 0, 0, 1]] ] [ ] [ [2, [0, 0, 1, 1]] ] [ ] [ [3, [0, 1, 1, 1]] ] [ ] [ [4, [0, 0, 0, 2]] ] [ ] [ [4, [1, 1, 1, 1]] ] [ ] [ [5, [0, 0, 1, 2]] ] [ ] (%o9) [ [6, [0, 1, 1, 2]] ] [ ] [ [7, [1, 1, 1, 2]] ] [ ] [ [8, [0, 0, 2, 2]] ] [ ] [ [9, [0, 0, 0, 3]] ] [ ] [ [9, [0, 1, 2, 2]] ] [ ] [ [10, [0, 0, 1, 3]] ] [ ] [ [10, [1, 1, 2, 2]] ] (%i10)