# your code goes here
def soma():
fat = -1
somar = 0
for i in range(1, 11):
fat = -fat * i
somar += (11 - i) / fat
return round(somar, 2)
def fatorial(n):
if n == 0 or n == 1:
return 1
return n * fatorial(n - 1)
def recursivo():
num_dem = zip(reversed(range(1,11)), range(1,11))
S = 0
for num, dem in num_dem:
fat = fatorial(dem)
tmp = num/fat
S += num/fat
from math import factorial
def somar(n):
soma = cont = 0
for c in range(n, 0, -1):
cont += 1
termo = (c / factorial(cont))
if cont % 2 == 0:
soma -= termo
else:
soma += termo
return round(soma, 2)
from timeit import timeit
params = {'number': 200000, 'globals': globals()}
print(timeit('soma()', **params))
print(timeit('somar(10)', **params))
print(timeit('recursivo()', **params))
IyB5b3VyIGNvZGUgZ29lcyBoZXJlCmRlZiBzb21hKCk6CiAgICBmYXQgPSAtMQogICAgc29tYXIgPSAwCiAgICBmb3IgaSBpbiByYW5nZSgxLCAxMSk6CiAgICAgICAgZmF0ID0gLWZhdCAqIGkKICAgICAgICBzb21hciArPSAoMTEgLSBpKSAvIGZhdAogICAgcmV0dXJuIHJvdW5kKHNvbWFyLCAyKQoKZGVmIGZhdG9yaWFsKG4pOgogICAgaWYgbiA9PSAwIG9yIG4gPT0gMToKICAgICAgICByZXR1cm4gMQogICAgcmV0dXJuIG4gKiBmYXRvcmlhbChuIC0gMSkKCmRlZiByZWN1cnNpdm8oKToKICBudW1fZGVtID0gemlwKHJldmVyc2VkKHJhbmdlKDEsMTEpKSwgcmFuZ2UoMSwxMSkpCiAgUyA9IDAKICBmb3IgbnVtLCBkZW0gaW4gbnVtX2RlbToKICAgICBmYXQgPSBmYXRvcmlhbChkZW0pCiAgICAgdG1wID0gbnVtL2ZhdAogICAgIFMgKz0gbnVtL2ZhdAoKZnJvbSBtYXRoIGltcG9ydCBmYWN0b3JpYWwKCmRlZiBzb21hcihuKToKICAgIHNvbWEgPSBjb250ID0gMAogICAgZm9yIGMgaW4gcmFuZ2UobiwgMCwgLTEpOgogICAgICAgIGNvbnQgKz0gMQogICAgICAgIHRlcm1vID0gKGMgLyBmYWN0b3JpYWwoY29udCkpCiAgICAgICAgaWYgY29udCAlIDIgPT0gMDoKICAgICAgICAgICAgc29tYSAtPSB0ZXJtbwogICAgICAgIGVsc2U6CiAgICAgICAgICAgIHNvbWEgKz0gdGVybW8KICAgIHJldHVybiByb3VuZChzb21hLCAyKQoKZnJvbSB0aW1laXQgaW1wb3J0IHRpbWVpdAoKcGFyYW1zID0geydudW1iZXInOiAyMDAwMDAsICdnbG9iYWxzJzogZ2xvYmFscygpfQoKcHJpbnQodGltZWl0KCdzb21hKCknLCAqKnBhcmFtcykpCnByaW50KHRpbWVpdCgnc29tYXIoMTApJywgKipwYXJhbXMpKQpwcmludCh0aW1laXQoJ3JlY3Vyc2l2bygpJywgKipwYXJhbXMpKQo=