Schrijf een programma dat alle gehele getallen tussen 1 en een gegeven getal a afdrukt die geschreven kunnen worden als de som van twee kwadraten.
De invoer is het getal a.
De uitvoer bestaat uit een lijst van regels van de vorm z=x^2+y^2 waarbij
Als een getal gelijk is aan meerdere sommen van twee kwadraten, dan worden deze sommen onder elkaar uitgeschreven (vb. 50).
25
2 = 1^2 + 1^2 5 = 1^2 + 2^2 8 = 2^2 + 2^2 10 = 1^2 + 3^2 13 = 2^2 + 3^2 17 = 1^2 + 4^2 18 = 3^2 + 3^2 20 = 2^2 + 4^2 25 = 3^2 + 4^2
55
2 = 1^2 + 1^2 5 = 1^2 + 2^2 8 = 2^2 + 2^2 10 = 1^2 + 3^2 13 = 2^2 + 3^2 17 = 1^2 + 4^2 18 = 3^2 + 3^2 20 = 2^2 + 4^2 25 = 3^2 + 4^2 26 = 1^2 + 5^2 29 = 2^2 + 5^2 32 = 4^2 + 4^2 34 = 3^2 + 5^2 37 = 1^2 + 6^2 40 = 2^2 + 6^2 41 = 4^2 + 5^2 45 = 3^2 + 6^2 50 = 1^2 + 7^2 50 = 5^2 + 5^2 52 = 4^2 + 6^2 53 = 2^2 + 7^2
Naar oefening 7.12 uit De programmeursleerling, Pieter Spronck.