Seite 1 von 1

Function, die das Produkt aus n ungeraden Zahlen berechnet

Verfasst: Montag 3. Mai 2021, 16:30
von mkraus
Wie erstelle ich eine Function, die das Produkt aus n ungeraden Zahlen berechnet?

Beispiele:

n=0 Ergebnis 1
n=1 Ergebnis 1
n=2 Ergebnis 1*3=3
n=3 Ergebnis 1*3*5=15
n=4.......

Code:
%reset -f
def du(n):
u=1
for k in range(1,n+1):
u=2*(u*k)-1
# print(pu,k)
return u
print(du(3))

17

Es soll eigentlich 15 rauskommen.
Was mache ich falsch?

Re: Function, die das Produkt aus n ungeraden Zahlen berechnet

Verfasst: Montag 3. Mai 2021, 17:15
von Sirius3
Deine Formel ist falsch. Du musst erst aus k eine ungerade Zahl berechnen und diese dann mit u multipliziert.

Re: Function, die das Produkt aus n ungeraden Zahlen berechnet

Verfasst: Montag 3. Mai 2021, 17:26
von noisefloor
Hallo,

schreib' dir das doch mal auf ein Blatt Papier für n=1, 2 und 3. Dann siehst du, dass die Formel nicht stimmt.

Tipp für die Lösung: die `range`Funktion kennt ein optionales Parameter namens `step`. Damit kannst du erreichen, dass dir `range` direkt nur ungerade Zahlen liefert.

Gruß, noisefloor