Вот задачка: Даны действительное число a и натуральное n. Вычислить:
a(a+1)…(a+n-1)
я не могу формулу вывести, помогите пожалуйста… но если не трудно можно и полностью задачку…заранее спасибо…
reduce(lambda x, y: x*y, xrange(a, n))
Last login: Tue Dec 2 21:13:18 on ttys000
ttys000 /Users/zzz $ python [0:46]
Python 2.5.1 (r251:54863, Apr 15 2008, 22:57:26)
[GCC 4.0.1 (Apple Inc. build 5465)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> help(reduce)
Help on built-in function reduce in module __builtin__:
reduce(...)
reduce(function, sequence[, initial]) -> value
Apply a function of two arguments cumulatively to the items of a sequence,
from left to right, so as to reduce the sequence to a single value.
For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates
((((1+2)+3)+4)+5). If initial is present, it is placed before the items
of the sequence in the calculation, and serves as a default when the
sequence is empty.
print reduce(lambda x, y: x*y, xrange(a, a+n))
a = float(raw_input("Enter a: "))
n = int(raw_input("Enter n: "))
result = 1
for i in xrange(n):
result *= a + i
print result
ZZZда. но у тебя тоже неправильно))))
Dimka665, ошибочка вышла…print reduce(lambda x, y: x*y, xrange(a, a+n))
reduce(lambda x, y: x*y, (a+z for z in xrange(n)))
Dimka665Хм… Красивое решение. Я не додумался.
да. но у тебя тоже неправильно))))
при a действительном, xrange выдаст предупреждение и будет возвращать целые.