Kezdőoldal » Közoktatás, tanfolyamok » Házifeladat kérdések » Írjunk kódot az összeg közelít...

Írjunk kódot az összeg közelítésére? (Elég csak szóban egy pseudo szerű kód ötlet is, nem nagyon tudom, hogy az ilyen feladatokat hogyan lehet megoldani így bármilyen segítség nagyszerű lenne)

Figyelt kérdés
[link]

2022. okt. 26. 12:50
 1/7 A kérdező kommentje:
Nekem az az ötletem, hogy addig futtatok egy ciklust ameddig bizonyos tizedes jegyet nem érek el, hiszen utána már annyira kicsi lesz, hogy mondhatom nyugodtan nullának. De ez túl egyszerű megoldásnak tűnik, nem tudom, hogy ez lenne-e a megfelelő ide.
2022. okt. 26. 12:52
 2/7 anonim ***** válasza:
100%

Kellene tudni, hogy ezzel kapcsolatban mit tanultatok. De egyébként igen, ez egy jó megoldás lenne. Viszont kérdés még az, hogy a programod mekkora számokat tud kezelni a programod. Illetve az n^6 baromi gyorsan nő ahhoz képest, hogy azzal osztanod kell, tehát már n=10-re is 0,sok0 alakú lesz a számod. De ha más ötleted nincs, és a tanulmányidból sem tudsz ötletet meríteni, akkor valósítsd meg ezt.


Alulról becsüléshez lehet használni a számtani-mértani közepek közti összefüggést;


sum() >= n*''ennedikgyök''((1/n!)^6), azt viszont nem tudom, hogy ez mennyire lesz közel az eredeti összeghez.

2022. okt. 26. 13:31
Hasznos számodra ez a válasz?
 3/7 anonim ***** válasza:

Kedves kérdező


Szerintem itt az igazi feladat a kilépési feltétel meghatározása, illetve annak a megindoklása. Nem hiszem, hogy lenne egy jó megoldás, viszont jó indoklással sok jó megoldás lehet.

Az én kedvencem a for ciklus. Ezt akkor tudod használni, ha előre tudod, hogy hány iterációt szeretnél csinálni. (végtelen számút szerintem men szeretnél kivárni)

Az adott feladatra while ciklus tűnik a nyerőnek, de nem tudok értelmes kilépési feltételt.

Megnézném, hogy az adott feladatnak van-e zárt alakú megoldása, esetleg mi az integrál 1/n6 integrálja nulla és végtelen között micsoda. Ez adhat némi támpontot

2022. okt. 26. 13:34
Hasznos számodra ez a válasz?
 4/7 anonim ***** válasza:
Esetleg a float típus számábrázolási tartományából le lehet egy kilépési feltételt vezetni.
2022. okt. 26. 13:37
Hasznos számodra ez a válasz?
 5/7 anonim ***** válasza:
Konvergál egy véges érték felé, szóval lesz egy ciklus, ami addig megy, amíg a szumma legújabb tagja kisebb, mint epszilon, amit te adsz meg bemenő paraméterként.
2022. okt. 26. 13:46
Hasznos számodra ez a válasz?
 6/7 anonim ***** válasza:
100%

import scipy

result = scipy.special.zeta(6)


Ha nincs humorérzéke, akkor:


n, result, previous = 1, 0, -1

while result != previous:

. . . . previous = result

. . . . result += n**-6

. . . . n += 1


Ez akkor lép ki, amikor az újabb n**-6 hozzáadása nem változtat tovább az eredményen. Ez sokkal hamarabb jön el, minthogy n**-6 a float határait kezdené feszegetni, hiszen a float-ok iszonyat közel tudnak menni a nullához a mantissza-exponens reprezentációjuknak köszönhetően, szuper alacsony exponensek használatával. De más, nagyobb számokhoz nem tudnak olyan közel menni, mert ott az exponens nagyjából adott, és a mantissza felbontása lesz a szűk keresztmetszet. Nálam a fenti kód amúgy n=458-nál lép ki.

2022. okt. 26. 14:32
Hasznos számodra ez a válasz?
 7/7 A kérdező kommentje:
Köszönöm a gyors válaszokat, ment a zöld mindenkinek!!
2022. okt. 26. 17:00

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!