Matematika feladatok
-
#3544
Ha felülről indulsz, akkor látod, h elég 44->32-ig vizsgálni (máris barátibb).
Ez miért is igaz?
JA! Értem! Elindulok attól a négyzetszámtól visszafelé, ami még éppen kisebb, mint amit elő kell állítani (44^2 = 1936), majd addig kell menni, amíg a felénél még éppen nem kevesebb négyzetszámig elérek (32^2 = 1024). Ezekhez kell megkeresni, milyen négyzetszámot kell hozzáadni, hogy megkapjam a 2010-et.
Jogos és pontosabb is. Ellenben nem biztos, hogy gyorsabb, mert míg én 31-szer futtatom le a ciklusomat, addig itt ((44-32+1)*valamennyi)-szer kell lefutnia és a "valamennyi" értékén érdemes agyalni. Ha buta, csapjunk-bele algoritmust ír az ember (ami valszeg a leggyorsabban futó), akkor valamennyi=31 választás kézenfekvő, mert ezzel lefedi a teljes szóba jöhető tartományt. Ekkor azért mégiscsak ~400-szor fut le a ciklus, bár egy kicsit egyszerűbb a belseje (bár ugye ez sem igaz, lesz benne egy kivonás és egy vizsgálat, hogy az eredmény =0 igaz-e).
Szóval nem biztos, hogy jobb, ellenben elismerem, hogy okosabb és pontosabb a te módszered! Én is valami hasonlóban gondolkodtam.