求阶层
2013-12-04 16:44
190 查看
#include<stdio.h> #include<time.h> int main() { const int MOD=1000000; int i,j,n,s=0; scanf("%d",&n); for(i=1;i<=n;i++) { int factorial=1; for(j=1;j<=i;j++) factorial=(factorial*j%MOD); s=(s+factorial)%MOD; } printf("%d\n",s); printf("Time used=%.2lf\n",(double)clock()/CLOCKS_PER_SEC); }在这个里面加入了一些技巧,避免溢出,程序的主要功能是输出后六位。
数论里面的一个结论:要计算只包含加法,减法和乘法表达式除以正整数n的余数,可以在每步计算之后对n 取模,结果不变!
相关文章推荐
- 如何彻底释放Win8.1系统下的WinSxS冗余更新补丁
- 8点1氪晚间版:要是巨头们都去开餐馆,他们会怎么干?
- Fragments (Android官方文档中文版)
- Hadoop 2.2.0 Symlink的使用
- 调用函数前未声明会出现什么情况?
- Word中如何连续使用格式刷
- android菜鸟飞翔之路——SurfaceView学习
- 在Hyper-V的虚拟机中使用无线网络
- sheet
- BZOJ 2752 高速公路(road)(线段树)
- linux下磁盘报警脚本
- RadioButton总结
- Android TextView使用HTML处理字体样式、显示图片等
- linux下mysql的root密码忘记解决方
- SequenceInputStream----合并流
- Oracle rpad函数和lpad函数
- c#和JS数据加密
- Yii中的CCheckBoxColumn在widget中的用法
- 纯css的防止图片撑破页面的代码(图片自动缩放)
- HDU 4747 Mex(线段树)