题意:
题目很简明:
令S[n]=1*1!+2*2!+3*3!+4*4!+....+n*n!
求S[n]%10000007
多组测试数据
每组一个n
n的范围:1<=n<=1000000

思路:看代码看懂的,数学真的有魔性。最重要的算法是<同余与模算术刘汝佳/p314>,这个题还用了一个小技巧:在求n*n!的时候<!的优先级大于*的优先级>由于已经知道(n-1)!%mod=t,所以呢,只需要在t的基础上乘n即可。大神的代码,有改进。

<pre name="code" class="cpp">#include<stdio.h>
const int mod=10000007;
int main()
{
int n;
while(~scanf("%d",&n)){
int i;
long long s=0,t=1;
for (i=1;i<=n;i++){
t=(t*i)%mod;
s=(s+(t*i)%mod)%mod;
}
printf("%lld\n",s);
}
return 0;
}
												

阶乘相关<同余与模算术>的更多相关文章

  1. UVA-10929-You can say 11(秦九昭算法+同余与模算术)

    原题链接 1000位大数取余: 秦九昭算法+同余与模算术: 1314 = (((1)*10+3)*10+1)*10+4 ( a + b ) % n = ( ( a % n ) + ( b % n ) ...

  2. HDU2114 Calculate S(n) (取模算术)

    Calculate S(n) Time Limit: 10000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  3. 学习联系 Java阶乘相关练习

    题目一:一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度 double hou = 0.00008; for (int i = 1; i > 0; i++) { hou = ...

  4. HDOJ(HDU) 2212 DFS(阶乘相关、)

    Problem Description A DFS(digital factorial sum) number is found by summing the factorial of every d ...

  5. MATLAB取余求模

    (1)fix(x) : 截尾取整 >> fix( [3.12 -3.12]) ans =   3   -3 (2)floor(x): 不超过x 的最大整数.(高斯取整) >>  ...

  6. UVa-11582:Colossal Fibonacci Numbers!(模算术)

    这是个开心的题目,因为既可以自己翻译,代码又好写ヾ(๑╹◡╹)ノ" The i’th Fibonacci number f(i) is recursively defined in the f ...

  7. java 取模运算% 实则取余 简述 例子 应用在数据库分库分表

    java 取模运算%  实则取余 简述 例子 应用在数据库分库分表 取模运算 求模运算与求余运算不同.“模”是“Mod”的音译,模运算多应用于程序编写中. Mod的含义为求余.模运算在数论和程序设计中 ...

  8. [总结]数论和组合计数类数学相关(定理&证明&板子)

    0 写在前面 0.0 前言 由于我太菜了,导致一些东西一学就忘,特开此文来记录下最让我头痛的数学相关问题. 一些引用的文字都注释了原文链接,若侵犯了您的权益,敬请告知:若文章中出现错误,也烦请告知. ...

  9. Java 之 数学相关类 Math、BigInteger、BigDecimal

    一.java.lang.Math 类 一.Math 类概述 java.lang.Math 类包含用于执行基本数学运算的方法,如指数.对数.平方根和三角函数.类似于这样的类,其所有方法均为静态方法,并且 ...

随机推荐

  1. android 获取系统硬件信息

    一,首先设置权限访问: <uses-permission android:name="android.permission.READ_PHONE_STATE" />  ...

  2. js中call方法的使用介绍

    js call call 方法 请参阅 应用于:Function 对象 要求 版本 5.5 调用一个对象的一个方法,以另一个对象替换当前对象. call([thisObj[,arg1[, arg2[, ...

  3. OA系统出现窗口拦截的解决办法

    我们使用oa时候,有时候会出现“你打开了窗口拦截功能”.如图 出现窗口被拦截主要有三种情况,分别是IE浏览器本身拦截功能.第三方插件(如百度工具栏.搜搜工具栏.谷歌工具栏等).第三方浏览器拦截功能(如 ...

  4. 理解 php 中& 引用

    php中引用&的真正理解-变量引用.函数引用.对象引用 php的引用(就是在变量或者函数.对象等前面加上&符号) //最重要就是 删除引用的变量 ,只是引用的变量访问不了,但是内容并没 ...

  5. 打印出最后执行的mysql 语句

    db.php 文件中添加 public function getlastsql(){ return $this->sql; } 入口文件中添加,公共方法 function getlastsql( ...

  6. 让你瞬间萌比的35个python小技巧

    今天在看python算法的时候,看到一篇关于python的小技巧.瞬间萌比了,原来python也可以这样玩,太神奇了.萌比的是原来这么简单的东西自己都不知道,虽然会写.废话不多说了,开始上菜. 1.拆 ...

  7. 在Firefox浏览器中关闭缓存.命令

    在Firefox中关闭缓存 看看这里 在地址栏输入:about:config 然后在过滤器中输入:browser.cache.disk.enable 解释:When a page is loaded, ...

  8. ios小功能

    1.开 发过程中,我们通过http请求,后台返回json数据,而有时数据里某一字段的值为null-,然后我们把此值赋值给 NSArray,NSdictionary,或是NSString,然后我们会判断 ...

  9. Apache开启gzip压缩传输

    修改Apache配置文件 第一步,添加两个模块 LoadModule deflate_module modules/mod_deflate.so LoadModule headers_module m ...

  10. 12c meet sysdba meet ORA-01017: invalid username/password; logon denied

    checklist: 1.12c: threaded_execution=true Prevents OS Login As Sysdba 2. The following database para ...