Function, die das Produkt aus n ungeraden Zahlen berechnet

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
mkraus
User
Beiträge: 1
Registriert: Montag 3. Mai 2021, 16:21

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?
Sirius3
User
Beiträge: 17703
Registriert: Sonntag 21. Oktober 2012, 17:20

Deine Formel ist falsch. Du musst erst aus k eine ungerade Zahl berechnen und diese dann mit u multipliziert.
Benutzeravatar
noisefloor
User
Beiträge: 3829
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

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
Antworten