def conditions(a1, q, n):
assert a1 != 0
assert q != 0
assert isinstance(n, int)
assert n > 0
def a_n(a1, q, n):
conditions(a1, q, n)
return a1 * q ** (n - 1)
def s_n(a1, q, n):
conditions(a1, q, n)
if q == 1:
return n * a1
else:
return a1 * (1 - q ** n) / (1 - q)
if __name__ == '__main__':
print(a_n(1, 2, 10))
print(s_n(1, 2, 10))
def a_n(a1, d, n):
assert isinstance(n, int) and n > 0
return a1 + (n - 1) * d
def s_n(a1, d, n):
return (a1 + a_n(a1, d, n)) * n / 2
if __name__ == '__main__':
print(a_n(1, 1, 10))
print(s_n(1, 1, 10))
def fibonacci(n):
assert isinstance(n, int) and n > 0
a = 1
b = 1
i = 1
while i < n:
a, b = b, a + b
i += 1
return a
if __name__ == '__main__':
for j in range(1, 10):
print('f(%d)=%d' % (j, fibonacci(j)))
f(1)=1
f(2)=1
f(3)=2
f(4)=3
f(5)=5
f(6)=8
f(7)=13
f(8)=21
f(9)=34