Algorithm 某个数的阶乘模

Algorithm 某个数的阶乘模,algorithm,math,Algorithm,Math,为了计算每个数字的阶乘,直到某个大数字对某个数字进行模化,并存储在1到n(10000000)的数组中。我一直在尝试一个简单的过程,对每个数字进行迭代并计算,取模并使用之前的计算结果。是否有好的算法来执行此操作以获得最快的执行时间?我尝试过的代码如下: int a[10000000]={}; int m;//some large number a[0] = a[1] = 0; for(int i = 2; i < 10000000; i++) { a[i] = a[i] % m; }

为了计算每个数字的阶乘,直到某个大数字对某个数字进行模化,并存储在1到n(10000000)的数组中。我一直在尝试一个简单的过程,对每个数字进行迭代并计算,取模并使用之前的计算结果。是否有好的算法来执行此操作以获得最快的执行时间?我尝试过的代码如下:

int a[10000000]={};
int m;//some large number
a[0] = a[1] = 0;
for(int i = 2; i < 10000000; i++)
{
  a[i] = a[i] % m;
}
inta[10000000]={};
int m//一些大数字
a[0]=a[1]=0;
对于(int i=2;i<10000000;i++)
{
a[i]=a[i]%m;
}

如果模m小于或等于阶乘参数n,则n!=0 mod m
(因为m将是n的除数!)。

指定语言,显示您的代码。是的,这正是@genisage刚刚编写的。如果您已经在这样做,我认为没有更好的方法填充数组。如果您向我们提供有关上下文的更多信息,我们可能会帮助您准确地找出哪些部分会影响性能并加以改进。这是正在进行的Codechef竞赛的一部分。正在进行。。。你应该从一开始就在你的问题中提到这一点。叹息