28 lines
583 B
Python
28 lines
583 B
Python
def AlternateNumberGenerator():
|
|
isEven = lambda n: n % 2 == 0
|
|
n = 1
|
|
counter = 2
|
|
while True:
|
|
yield n
|
|
n = n + (-counter**2 if isEven(counter) else counter**2)
|
|
counter += 1
|
|
|
|
|
|
def alternateSumStopAt(k):
|
|
numGen = AlternateNumberGenerator()
|
|
previousN = None
|
|
n = next(numGen)
|
|
iterations = 0
|
|
while n < k:
|
|
previousN = n
|
|
n = next(numGen)
|
|
iterations += 1
|
|
|
|
print(
|
|
f'Summen av tallene før summen blir større enn k er {previousN}. Antall iterasjoner: {iterations}'
|
|
)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
k = int(input('k: '))
|
|
alternateSumStopAt(k) |