我在这方面做了很多工作,但找不到更大的测试用例的答案
问题陈述
在数学中,二项式系数是作为二项式定理中的系数出现的正整数族。c(n,k)表示从n个不同对象中选择k个对象的方法的数目。
但是,当n和k太大时,我们通常在模运算后用一个素数p来保存它们。请计算n的二项式系数在模运算后用p变成0的数目。
输入
第一个输入是一个整数t,测试用例的数量。
下面的每一行t包含2个整数n和素数p。
输出
对于每一个测试用例,输出一行包含在p的模运算之后每个nks的数量(0样本输入

3
2 2
3 2
4 3

样本输出
1
0
1

制约因素:
t小于100
n小于10^500。
p小于10^9。
调度解决方案
我用二项式系数的余数定理完成了这个
         #C(n,m) mod p
         #n=l*p+t
         #m=m*p+s
         #then C(n,r) mod p=0 when (t<s or t=0)

         inp1 = raw_input()
         N=int(inp1)
         result=[]
         for i in range(N):
            inp = raw_input()
            a, b = [long(x) for x in inp.split(' ')]
           j=0
           #n=lp+t
           t=a%b
           t=t+1
           l=a/b
           j=l*(b-t)
           result.append(j)
        for i in range(N):
           print result[i]

满足上述条件
样本测试用例
而N=18794630773676767676767676767242424242424242424246767676767676767676763515151515151515151515151515151515151515151515151515151515151575757575757575757575757676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676749494949495151515151515151515151515151494949494949494949494949494949494949494949494949496874400个30668294987126004037051506242398254327107344361302813384446038538070663114797397899089861018022862509956919930500586048799830734850399450318410617058
P=177080341
我的输出是
2996965049040404040404040404040404040404040404040753535353292929292929298888883535358888938383838383838383838383545454545454547171743147798234484848535353535353535353535353535353535353535335353571313131313131313131313131313131313131313131313131313131313131313131676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767673924668786616699414300148283956000969674716959277820008958538229366474207686442875093414914091629930835414752772950721250234982686128039722532136725588488
预期产出为
187946767676767676767515151515858255050494949494949494949494949494949494949494949494949494949494949494949363636727272687272727221212125253636515151515151515151515151515151515151585858585851515151512828282828515151515128282851515151282828285151512828494949494949494949696969696969686858585858585858915152525252525252525252525252525252525251515151575757575757484848484848484848484848485151515151515151515162个5161326885181812832741678485138861608928873335604693360944314619813688250284475053543183544888565944496273708077074483673574074503184106117059

最佳答案

你的配方奶粉坏了。
你在计算l*(p-t-1)。
如果有p^2、p^3等因素,这个公式就不起作用。当l>p时,就会发生这种情况(如果m>p也有可能)。
对于小数字,尝试n=10,p=3来看看我在说什么。您的计算将返回3个r值,其中10crmod3=0,但实际上有7个。

10-01 20:04