Witam.
Potrzebowałbym aby ktoś mi wytłumaczył jak napisać kod bądź powiedział co w moim trzeba by przerobić.
Zadanie jest następujące:
Napisz funkcję, która dostaje jako argument dodatnią liczbę całkowitą n i wypisuje na standardowym wyjściu wszystkie możliwe rozkłady liczby n na sumy kwadratów dodatnich liczb całkowitych.
Poprzednie zadanie brzmiało podobnie lecz było ograniczenie tylko do rozkładu na dwie liczby tj. a^2^ + b^2^ = n
.
Ten problem było prościej rozwiązać a mój kod wyglądał następująco:
int suma_kwadrat(int n)
{
int a,b;
for(a=0;a<=n;a++)
{
for(b=a;b<=n;b++)
{
if((a*a)+(b*b)==n)
{
printf("%d^2 + %d^2 = %d\n",a,b,n);
}
}
}
}
Lecz w tym zadaniu trudniejszym jest o tyle trudniej że nie ma ograniczenia co do ilości kwadratów które należy sumować.