如何将N!分解为素数的乘积
最近在翻看《算法竞赛入门经典》这本书,上面提到一篇关于如何将N!分解为素数的乘积的文章。原题大意如下:
数一个数 2
下面我们看一下《算法竞赛入门经典》的源码。后面我给出自己的改进解法。
int is_prime(int n)
{int i;for(i = 2; i <= sqrt(n); i++ ){if((n % i) == 0)return 0;}return 1;
}void ConstructPrimeArray()
{int i;for(i = 2; i < 100; i++){if(is_prime(i)){prime[count++] = i;}}
}void GetIndexArray1(int input)
{int i;int j = 0;int m;for(i = 1; i <= input; i++)for( j = 0; j < count; j++){ m = i;while(m % prime[j] == 0){IndexArray[j] ++;m = m / prime[j];if(j > maxindex)
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
