将所有数字相乘在循环的输出中

时间:2019-10-29 00:57:17

标签: python python-3.x algorithm

我正在尝试在Python中创建一个算法,该算法接受输入并输出所有小于它的数字的倍数。 示例:输入; 3           输出; 1 * 2 * 3 = 6。

example2:输入; 15           输出; 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11 * 12 * 13 * 14 * 15 = 1,307,674,368,000。

2 个答案:

答案 0 :(得分:0)

欢迎使用堆栈溢出。 我认为这个问题并不是那么困难,您应该先自己尝试一下。

这是一个简单的例子:

def main(arg):
    ans = 1
    for x in range(1, arg+1):
        ans *= x
        if x == arg:
            print(x, end=' ') # skip the last one
        else:
            print(x, end='*') 

    print(f'= {ans}', end='')


if __name__ == '__main__':
    try:
        arg = int(input())
        main(arg)
    except:
        pass

输入:3 输出:1 * 2 * 3 = 6

答案 1 :(得分:0)

这等于计算阶乘(n)。我将提供一个简单的递归实现。

def recursive_factorial( n ):
    if n <= 1:
        return 1
    return n * recursive_factorial(n - 1)

if __name__ == '__main__':
    x = int(input())
    print( recursive_factorial(x) )

这是一个非常普通的编程练习,您可以轻松找到更多信息。一个很好的起点是(https://en.wikipedia.org/wiki/Factorial