Прикреплённый файл «2012-11-30.fib.py»
Загрузка 1 #!/usr/bin/env python
2 # coding: utf
3 '''
4 Последовательность чисел Фибоначчи определяется следующим образом: F0 = F1 = 1,
5
6 Fn+1 = Fn+F n-1. Напишите программу для вычисления последней цифры n-го члена последовательности.
7 '''
8
9 def fibN(n):
10 '''Решение «в лоб»'''
11 F0=F1=1
12 for i in xrange(n-2):
13 F0,F1=F1,F0+F1
14 return F1%10
15
16 def fibD(n):
17 '''Решение с хранением только последних цифр'''
18 F0=F1=1
19 for i in xrange(n-2):
20 F0,F1=F1,(F0+F1)%10
21 return F1
22
23 def fibP(n):
24 '''Решение с вычислением периода'''
25 F0=F1=1
26 Per=[0]*100
27 for i in xrange(n-2):
28 if Per[F0*10+F1]: # Уже было!
29 break # Можно дальше не считать
30 Per[F0*10+F1]=F1*10+(F0+F1)%10
31 F0,F1=F1,(F0+F1)%10
32 else:
33 return F1
34 return fibD(n%i)
35
36 n=input()
37 #print fibN(n)
38 print fibD(n)
39 print fibP(n)
Прикреплённые файлы
Для ссылки на прикреплённый файл в тексте страницы напишите attachment:имяфайла, как показано ниже в списке файлов. Не используйте URL из ссылки «[получить]», так как он чисто внутренний и может измениться.- [получить | показать] (2012-12-14 12:14:10, 1.7 KB) [[attachment:2012-11-23.sort2.rnd.py]]
- [получить | показать] (2012-12-14 12:02:46, 1.1 KB) [[attachment:2012-11-30.fib.py]]
Вам нельзя прикреплять файлы к этой странице.