Patrat
Problema se rezolva simplu daca construim vectorul ok, unde oki va fi true daca si numai daca i respecta proprietatile din enunt. Pentru a construi acest vector putem proceda astfel:
pentru i = 1, 20000
ok[i] = false
pentru i = 1, [radical(20000)]
pentru j = i+1, [radical(20000)]
daca i * i + j * j <= 20000
ok[i * i + j * j] = true
Pentru a afisa toate numerele intre x si y ce se pot scrie ca suma de patrate este suficient sa iteram un i intre cele doua margini si sa afisam acele valori care indeplinesc oki = true.