24 lines
569 B
Python
24 lines
569 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)
|