Найти - Пользователи
Полная версия: описание функции Fact2(N)
Начало » Python для новичков » описание функции Fact2(N)
1 2
Consolidated
привет программерам :)

выручаю человека, помогаю задачку решить) мы немного нубы по сложным операторам ибо не научили нас ещё, поэтому обходимся простыми и решаем через владивосток :D человек близок к ответу, но ни в какую…Вобщем вот задача:

Описать функцию Fact2(N) целого типа, вычисляющую значение “двойного факториала”:
N!! = 1•3•5•…•N, если N — нечетное,
N!! = 2•4•6•…•N, если N — четное (N > 0 — параметр целого типа).
С помощью этой функции вычислить двойные факториалы десяти данных чисел.

вот его наработки:

b=input('vvedite')
if b%2==0:
n=range(b)
s=n
f=reduce(lambda res, x: res*x, s,1)
print f*n
else:
a=1
while a<=b:
a=a*(a+2)
print ('factorial raven',a)

Второй вариант:

N=input('vvedite')
if N>0:
if N%2==0:
a=0
while a<=N:
for i in range(N):
a=a*(a+2)
i=i+1
print ‘factorial =’,a
else:
a=1
while a<=N:
for i in range(N):
a=(a+2)
i=i+1
print ‘factorial raven’,a

сначала нада def Fact2(N): потом описание функции…
вобщем направьте нас на путь истинный :)
Ferroman
1. Используйте тег “code” для кода.
2. Для факториала есть более “канонічний” способ - рекурсия. В вашем случае рекурсия с шагом -2.
Consolidated
вибачте, але не зовсiм зрозумiло))) вроде знакомые определения, но знания не позволяют интерпретировать это в программе, мы совсем начинашки, даж спрашивать не у кого, на факультете только наша группа питонит, а качество обучения информатике не айс, преподу наплевать(( так што буду признателен если обьяснения будут в виде кода :)
Ferroman
Первая ссылка в гугле.
Только шаг другой.
Consolidated
дуже вдячний :)
Ferroman
Ростіть широкі.
Consolidated
:D :D дякую аш пiдскакую
Zubchick
пiшiтi на руськом plz. Особенно если хотите чтобы вам отвечали не только ваши соотечественники :)
Consolidated
вибачте…гхм…изиняюссь) никак не выходит штот :( действительно, питон чот капризничает, то на одном компе открывает на другом нет, то очевидных операций не хочет делать(
Consolidated
вот наработки:

def factorial(x):
if x == 0:
return 1
else:
return x * factorial(x - 1)

ещё:

def factorial(x):
return 1 if x==0 else reduce(lambda x,y:x*y,xrange(1,x+1))

и есть на бэйзике
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB