Hogyan kell ezt kiszámolni?
Számológéppel/számítógéppel
Exceles megoldás mi lenne.
Az A1 cellába beírod, hogy 1,01 (vagy angol Excelben 1.01), az A2-be, hogy 1,02 (1.02), kijelölöd a két cellát, lehúzod a 99. sorig, aztán a B1-be, hogy =2500*SZORZÁS(A:A) (illetve = 2500*PRODUCT(A:A) ), és ott lesz eredmény.
Amúgy fura, hogy a Wolframalpha ezeket az inputokat megérti:
[link] WA input: product(1 + n/100, n = 1..99)
[link] WA input: prod(1 + n/100, n = 1..99)
[link] WA input: Π(1 + n/100, n = 1..99)
De amikor meg akarom szorozni 2500-zal, akkor hibát dob, vagy csak akkor ad valami nagyon durva közelítést, ha 2500.0-val szorzom:
WA input: 2500.0*prod(1 + n/100, n = 1..99)
Mindegy, azt lehet, hogy a tizedes közelítésre rákattintunk a fenti linkeken, és azt szorozzuk 2500-zal:
[link] WA input: 2500*4.22527509346231474791907854692770228272068336100623098278020 × 10^16
Illetve, ha túl nagy számok kezdenének kijönni, akkor egy ilyen szorzatot logaritmusazonosságokkal könnyen vissza lehet vezetni összegre, amiből tudsz csinálni egy sok tizedesjegyes közelítést akkor is, ha a számológép már kiakadna a részletszámítások alatt, de szerencsére a mai világban 10^20 már nem egy nagy szám.
2500 * (199!)/(100!)/100^99
Ha erre tudnál ennél könnyebben kiszámolható képletet, az azt jelentené hogy a faktoriális
"2500 és ezt szeretném megszorozni 1,99 majd 1.98 majd 1.97-el egészen 1.01-ig."
"Számológéppel"
2500*1,99= ez lesz az első érték.
Utána -25= = = =
Ha az egyenlőségjelet nyomogatod, sorra megkapod az értékeket.
Ugyanis a kérdező nem a szorzás eredményét akarja 1,98-al, stb megszorozni, hanem az "értéket". Ami 2500.
Legalábbis ezt írta.
Jupyter-lab-ban több féle képpen is:
from fractions import Fraction
x=Fraction(eval('*'.join([f'{i}' for i in range(199,100,-1)])),pow(10,198))
print(x)
print('Decimal approximation :',float(x))
import itertools,operator
for x in itertools.accumulate((i/100 for i in range(199,100,-1)),operator.mul): pass
print(x)
for x in itertools.accumulate((Fraction(i,100) for i in range(199,100,-1)),operator.mul): pass
print(x)
from sympy import Rational,N
for x in itertools.accumulate((Rational(i,100) for i in range(199,100,-1)),operator.mul): pass
print(x)
print('Decimal approximation :',N(x,30))
Ja bocsi, 2500 kimaradt :
x*=2500 ezzel bővítettem a megfelelő helyeken : [link]
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!