查找Pascal三角形第100行中不能被X整除的位数

时间:2012-03-07 19:37:36

标签: c# algorithm logic pascals-triangle

我需要找出在Pascal三角形的第100行中不能被数字x整除的位数。

我为了找到它而应用的算法是:因为Pascal的三角形是从第二行开始的11的幂,所以第n行可以找到11 ^(n-1)并且可以很容易地检查哪个数字是不能被x整除。

当n等于99或100时,如何找到大数字?是否有其他算法可用于查找此内容?

2 个答案:

答案 0 :(得分:1)

您可以使用阶乘(n!/(n-k + 1)!(k-1)!第n行,第k个值)直接计算pascal三角形的值。您可以从k = 1开始,逐步计算二项式系数,在n / 2步骤中,您可以找到不能被x整除的数字。

选择(n,k + 1)=选择(n,k)*(n-k + 1)/ k,其中选择(n,k)=(n!/(n-k + 1)!(k -1)!

答案 1 :(得分:0)

您不需要三角形第100行的精确值。可以计算value mod x。像往常一样构建三角形,但在任何地方应用模数运算 - 你不需要大数字。