Прикреплённый файл «2012-12-14.sumfact.py»
Загрузка 1 #!/usr/bin/env python
2 # coding: utf
3 '''
4 Составить программу для вычисления суммы: 2! + 4! + 6! + ... + п!
5 - Рекурсивную
6 - Нерекурсивную
7 '''
8
9 def rawrec(n):
10 if n <= 2: return 2
11 m=1
12 for i in xrange(2,n+1):
13 m*=i
14 return m+rawrec(n-2)
15
16 def rawnorec(n):
17 m=2
18 for n in xrange(4,n+1,2):
19 fact=1
20 for i in xrange(2,n+1):
21 fact*=i
22 m+=fact
23 return m
24
25 # 2!+4!+…+(n-2)!+n! =
26 # 2+2*3*4+2*3*4*5*6+…+(2*3*..*(n-2))+(2*3*…*n) =
27 # 1*2*(1+3*4*(1+5*6*(…(1+(n-4)*(n-2)*(1+(n-1)*n))…))) =
28 # 1+1*2*( 1+3*4*( 1+5*6*( …( 1+(n-4)*(n-2)*(1+(n-1)*n*(1)))…))) -1
29 def effrec(N):
30 def __effrec(n):
31 if n>=N: return 1
32 return 1+(n+1)*(n+2)*__effrec(n+2)
33 return __effrec(0)-1
34
35 def effnorec(N):
36 m=1
37 for n in xrange(N,0,-2):
38 m=1+m*(n-1)*n
39 return m-1
40
41 n=input("Введите число: ")
42 #for fun in rawrec,rawnorec,effrec,effnorec:
43 for fun in [rawnorec]:
44 print fun(n)
Прикреплённые файлы
Для ссылки на прикреплённый файл в тексте страницы напишите attachment:имяфайла, как показано ниже в списке файлов. Не используйте URL из ссылки «[получить]», так как он чисто внутренний и может измениться.- [получить | показать] (2012-12-26 21:57:22, 0.5 KB) [[attachment:2012-12-14.joinsort.gen.py]]
- [получить | показать] (2012-12-26 21:57:12, 1.8 KB) [[attachment:2012-12-14.joinsort.py]]
- [получить | показать] (2012-12-26 21:56:19, 1.0 KB) [[attachment:2012-12-14.sumfact.py]]
- [получить | показать] (2012-12-26 21:56:47, 0.4 KB) [[attachment:2012-12-14.yomkosti.gen.py]]
- [получить | показать] (2012-12-28 15:10:53, 3.3 KB) [[attachment:2012-12-14.yomkosti.py]]
- [получить | показать] (2013-05-17 14:07:31, 1.7 KB) [[attachment:joinsort.py]]
Вам нельзя прикреплять файлы к этой странице.