Python Summe ungerader Zahlen?

1 Antwort

Es soll eine Zahl n eingegeben werden. Diese Zahl wird dann mit 2 multipliziert und 1 wird abgezogen.

Zum Beispiel n = 5

2n-1 = 9

Dann soll die Summe aller ungeraden Zahlen von 1 bis 9 (2n-1) berechnet werden.

Das mit dem Quadrieren verstehe ich nicht, es gibt zum einen den Weg über einen range-Loop und den Modulo-Operator, siehe:

https://www.tutorialspoint.com/python-program-to-print-all-odd-numbers-in-a-range

Deutlich eleganter und effizienter ist aber diese Formel, die sich am kleinen Gauss orientiert. range zu verwenden, geht zwar, ist aber schlecht.

def odd_sum(x):
	x = 2*x-1
	gauss = (x**2+x)/2
	number_of_odds = (x+1)/2
	return (gauss+number_of_odds)/2
Woher ich das weiß:Studium / Ausbildung – Studium (M.Sc., Dr.) und mehrjährige Berufserfahrung
Jangler13  21.02.2021, 11:33

Die effizientere Formel ist n^2 ;)

Es gilt nämlich dass die summe der ersten n ungeraden zahlen n^2 ergibt

1