Python整数阶乘组合计算

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python整数阶乘组合计算相关的知识,希望对你有一定的参考价值。

整数阶乘组合计算

描述

给定正整数n、a,求最大的k,使n!可以被a^k整除但不能被a^(k+1)整除。

n和a采用一次input()调用输入,两个数使用逗号(,)分隔,直接输出k值。

输入

示例1:100, 9

输出

示例1:24

#!/usr/bin/env python3.6
import re
from math import factorial as fac


def get_k(n, a):
    nn = fac(n)
    for k in range(1, n):
        ak = a**k
        if nn % ak == 0 and nn % (ak * k) != 0:
            return k


def main():
    inp = input('Enter two integers: ')
    n, a = [int(i) for i in re.findall(r'\\d+', inp)[:2]]
    print(get_k(n, a))


if __name__ == '__main__':
    main()

参考技术A n,a=eval(input())
s=1
for i in range(1,n+1):
s=s*i
for k in range(1,n):
ak=a**k
aj=a**(k+1)
if s%ak==0 and s%aj!=0:
break
print(k)
参考技术B n,a=eval(input())
s=1
for i in range(1,n+1):
    s=s*i
for k in range(1,n):
    ak=a**k
    aj=a**(k+1)
    if s%ak==0 and s%aj!=0:
        break
print(k)

以上是关于Python整数阶乘组合计算的主要内容,如果未能解决你的问题,请参考以下文章

Python练习计算1到n的阶乘的和

python怎么求阶乘

计算一个整数N的阶乘 【单循环】

计算阶乘之和

python阶乘倒数求和!!!

如何使用 MPI 发送整数数组并计算它们的阶乘?