Az első hány darab természetes számot adhatjuk össze, hogy az összeg kisebb legyen 1000-nél?
Kezdésnek: számtani sorozat összege:
Matematikai szemlélettel:
Az első n darab pozitív egész szám összege: n * (n + 1) / 2
n * (n + 1) / 2 < 1000
n * (n + 1) < 2000
n^2 + n - 2000 < 0
Az n^2 + n - 2000 parabola zérushelyei körülbelül -45,224 és 44,224. Mivel a főegyüttható pozitív, ezért a kifejezés értéke a ]-45,224; 44,224[ nyitott intervallumban lesz negatív. Tehát n legnagyobb lehetséges értéke 44, azaz az első 45 darab természetes számot adhatjuk össze, hogy az összegük kisebb legyen 1000-nél.
Python: print("45")
Programozói szemlélettel:
Egy while ciklusban addig adjuk össze a számokat, amíg az át nem lépi az 1000-et.
Python:
n, s = 0, 0
while (s < 1000):
s += n
n += 1
print(n - 1)
#2, Tökéletes válasz. Egy dolog kérdéses csak, hogy a nulla természetes szám-e, tehát azt is bele kell-e számolni a darabszámba. Ezt a tanárral kell egyeztetni, hogy ő hogy értelmezi. Vagy a program a futás végén azt is kiírhatja, hogy a nullát is beleszámolta-e.
( [link] )
Bármilyen zsebszábológéppel:
1-1=0
Summa X=1 től 44-ig (Ans+X) =990
1-1=0
Summa X=1 től 45-ig (Ans+X) =1035
Ha az érték a lényeg és nem a levezetés. ;)
"Programozói szemlélettel:
Egy while ciklusban addig adjuk össze a számokat, amíg az át nem lépi az 1000-et"
Kiegészítésként érdemes hozzátenni, hogy ez a lehető legnaivabb megoldás, az összegképletet felhasználva ennél egy binary search is jobb futásidőt eredményez, ilyen kis értékek esetében is.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!