Vom genera pătrate mai mici decât
n. În algoritm, ieşim din structura când condiţia
i * i < n nu mai este îndeplinită. În acest caz, dacă
i * i este mai mare decât
n, scădem din
i valoarea
1 pentru a avea un pătrat care „încape” în
n, îl scriem în fişier şi scădem din
n pătratul aferent. Repetăm aceşti paşi până când
n devine
0.
Algoritm Patrat(n):
cât timp n > 0 execută:
i = 1
cât timp i * i < n execută:
i = i + 1
sfârşit (cât timp)
dacă i * i > n atunci
i = i – 1
sfârşit(dacă)
Scrie i
n = n – i * i
sfârşit (cât timp)
Sfârşit (algoritm)