阶乘之和
来源:互联网 发布:php empty 0 编辑:程序博客网 时间:2024/06/03 21:45
阶乘之和
输入n,计算S=1!+2!+3!+…+n!的末6位(不含前导0,前导0表示按需求必须为x位数,不足部分前面补0 )。n<=10^6。这里,n!表示前n个正整数之积。
Input
n(n<=10^6)
Output
S=1!+2!+3!+…+n!的末6位
Sample Input
10
Sample Output
37913
注意事项:
1.在循环体开始处定义的变量,每次执行循环体时会重新声明并初始化。
2.要计算只包含加法、减法和乘法的整数表达式除以正整数n的余数,可以在每步计算之后对n取余,结果不变。
3.取某数的末x位就是mod 10^x。
代码:
#include<iostream>#include<stdio.h>#include<stdlib.h>#include<math.h>#include<algorithm>//#include<time.h> //"计时器"using namespace std;const int MOD=1000000; //常量定义,改善了程序的可读性,也方便修改 int main(){ int i,j,n,S=0; scanf("%d",&n); for(i=1;i<=n;i++) { int cnt=1; //注意累乘器cnt定义在循环里面,即每执行一次循环体,都要重新声明一次cnt并初始化为1 for(j=1;j<=i;j++) { cnt=cnt*j%MOD; } S=(S+cnt)%MOD; //因为只要末6位,所以输出时对10^6取模 } printf("%d\n",S); //printf("Time used =%.2lf\n",(double)clock()/CLOCKS_PER_SEC); return 0;}
阅读全文
0 0
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 【阶乘之和】
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 大整数相乘
- MAC office2016 安装及破解
- Navicat怎么导入导出数据库
- Hadoop3-HDFS的java客户端编写
- 在线支付(易宝支付)
- 阶乘之和
- some
- 使用微擎自带的函数生成二维码
- 解决Targeting ES5 with TypeScript in Visual Studio
- 本地计算机上的XXX服务启动后又停止了——Windows Service服务调试
- UVA-1422(贪心+二分+优先队列)
- js工具-合并对象
- webStorage是html5中用于本地化存储的一种方式
- JointJS零基础入门01-JointJS安装&HelloWorld