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.

Opgave

De invoer is het getal a. De uitvoer bestaat uit een lijst van regels van de vorm z=x^2+y^2 waarbij \(x \leq y\).

Als een getal gelijk is aan meerdere sommen van twee kwadraten, dan worden deze sommen onder elkaar uitgeschreven (vb. 50).

Voorbeeld

Invoer

25

Uitvoer

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

Invoer

55

Uitvoer

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

Programmeursleerling
Naar oefening 7.12 uit De programmeursleerling, Pieter Spronck

Naar oefening 7.12 uit De programmeursleerling, Pieter Spronck.