您的位置:首页 > 其它

阶层之和  

2014-03-26 18:33 155 查看
在这个题目里面,利用同余定理可以减少很多计算量。不过从书上面的解答中知道了要利用时间函数进行代码调试,现在贴一下代码吧!
#include <stdio.h>
#include <time.h>
/* 利用同余定理求阶层之和 */
int main()
{
const int MOD = 1000000;
int n;
int i,j;
long long sum,f;
while(~scanf("%d",&n))
{
//对于结果观察后的技巧;
if(n>25)
n=25;
sum = 0;
for(i = 1;i <= n;i++)
{
f=1;
for(j = 1;j <= i;j++)
f = (f * j) % MOD;
sum = (sum + f) % MOD;
}
printf("%lld ",sum);
printf("%.2lf\n",(double)clock() / CLOCKS_PER_SEC);
}
return 0;
}
但是有一个问题就是时间好像跟书上面给出来的不一样。


本文出自 “我的算法笔记” 博客,谢绝转载!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: