Python整数阶乘组合计算
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python整数阶乘组合计算相关的知识,希望对你有一定的参考价值。
整数阶乘组合计算
描述
给定正整数n、a,求最大的k,使n!可以被a^k整除但不能被a^(k+1)整除。
n和a采用一次input()调用输入,两个数使用逗号(,)分隔,直接输出k值。
输入
示例1:100, 9
输出
示例1:24
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整数阶乘组合计算的主要内容,如果未能解决你的问题,请参考以下文章