Kezdőoldal » Számítástechnika » Programozás » Az első hány darab természetes...

Az első hány darab természetes számot adhatjuk össze, hogy az összeg kisebb legyen 1000-nél?

Figyelt kérdés
Írni kell egy programot pythonban, ami megválaszolja ezt a kérdést, de fogalmam sincs, hogy kezdjek hozzá:(

2020. márc. 30. 22:37
1 2
 1/13 anonim ***** válasza:
83%

Kezdésnek: számtani sorozat összege:

[link]

2020. márc. 30. 23:07
Hasznos számodra ez a válasz?
 2/13 anonim ***** válasza:
39%

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)

2020. márc. 30. 23:11
Hasznos számodra ez a válasz?
 3/13 anonim ***** válasza:
38%

#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] )

2020. márc. 31. 00:46
Hasznos számodra ez a válasz?
 4/13 anonim ***** válasza:
67%

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. ;)

2020. márc. 31. 00:56
Hasznos számodra ez a válasz?
 5/13 anonim ***** válasza:
0%
#3: Igen, amennyiben a természetes számok alatt a pozitív egész számok halmazát értjük, a helyes megoldás a 44. Az utóbbi kódban a while cikluson belüli két sor felcserélésével (és opcionálisan az n kezdőértékének 1-re állításával) módosítható a program. Vagy egyszerűen csak (n - 2)-t írunk ki (n - 1) helyett.
2020. márc. 31. 02:31
Hasznos számodra ez a válasz?
 6/13 anonim ***** válasza:
68%

"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.

2020. márc. 31. 09:18
Hasznos számodra ez a válasz?
 7/13 anonim ***** válasza:
60%
Jó látni, hogy még ezekben a nehéz időkben is megcsinálják itt csettintésre más házi feladatát :)
2020. márc. 31. 09:41
Hasznos számodra ez a válasz?
 8/13 anonim ***** válasza:
0%
6-os, nem olyan nagy baj az ha megvillantja a kérdezőnek a dolog matematikai mögöttesét is, csak az a kár, hogy disznó elé szórja a gyöngyöt.
2020. márc. 31. 11:45
Hasznos számodra ez a válasz?
 9/13 anonim ***** válasza:
49%
Csak kíváncsiságból, ennél a feladatnál a bináris keresés milyen értéknél (az 1000 helyett) kezd el gyorsabb lenni a lineáris keresésnél? Valaki megnézte?
2020. márc. 31. 14:44
Hasznos számodra ez a válasz?
 10/13 anonim ***** válasza:
#9 nekem 7-800 körül kezd stabilan gyorsabb lenni a binary search a 2. válaszban lévő algoritmusnál, 6000 körül már 2x olyan gyors.
2020. márc. 31. 15:26
Hasznos számodra ez a válasz?
1 2

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!