Bombonice

време меморија улаз излаз
2000 s 512 Mb стандардни излаз стандардни улаз

Mala Duca mnogo voli da jede bombonice. Ona je od svoje mame dobila beskonačno bombonica i sada želi da ih rasporedi u kutije. Uzela je praznih kutija, napisala na njima brojeve od do , i postavila ih redom u krug oko sebe. Kutiji sa rednim brojem susedne kutije su sa rednim brojevima i .

Sada će stavljati bombonice u kutije na sledeći način: Izabraće dva broja, i , i onda će u kutiju broj dodati tačno bombinca (zato što voli brojeve koji su potpuni kvadrati), zatim će u sledeću kutiju redom u krugu dodati bombonica, zatim u sledeću , itd. redom dok ne prođe kutija i u poslednju stavi jednu () bombonicu. Ovakav postupak, počev od ponovnog izbora novih brojeva i , će potencijalno ponavljati više puta, sve dok joj ne dosadi.

Duca želi da održava određeni balans bombonica u nekim kutijama, tako da će se povremeno zapitati koliko je ukupno bombonica ubacila u nekih uzastopnih kutija, počev od kutije broj . Kako to može biti jako veliki broj za računanje, moli vas za pomoć da joj svaki put odgovorite na ovakvo pitanje, i za uzvrat će vam dati nekoliko bombonica. Ukoliko svi odgovori budu tačni, pomoći će vam i da osvojite neki poen na takmičenju.

Opisi funkcija

Potrebno je da implementirate sledeće funkcije:

koja se poziva tačno jednom na početku izvršavanja programa, i saopštava da Duca ima kutija postavljenih u krug.

koja označava da Duca dodaje bombonice u kutija, počev od kutije broj , na način koji je opisan u zadatku.

koja treba da vrati koliko se trenutno ukupno bombonica nalazi u uzastpnih kutija, počev od kutije broj . Pošto ovaj broj može biti veliki, vratiti ostatak pri deljenju broja bombonica sa .

Primer

| Pozivi funkcija | Objašnjenje |

Морате бити улоговани како бисте послали задатак на евалуацију.