算1

您所在的位置:网站首页 求阶乘累加和的c语言 算1

算1

2024-07-17 02:36| 来源: 网络整理| 查看: 265

题目:输入n,计算S=1!+2!+3!+…+n!的末6位(不含前导0)。n≦10⁶,n!表示前n个正整数之积。 

                                                                                  

这里需要一点数学知识:要计算只包含加法, 减法和乘法的整数表达式除以正整数n

的余数, 可以在每步计算之后对n取余, 结果不变.

神马意思呢这句话?

就以本题为栗子,计算(1!+2!+3!+...+n!)%1000000

注意是每步计算之后对1000000取余,所以计算步骤可以如下:

第1步:1!%1000000=1

第2步:2!%1000000=2

第3步:(1+2)%1000000=3

第4步:3!%1000000=6

第5步:(3+6)%1000000=9//第3步与第4步结果相加取余

第6步:4!%1000000=24

第7步:(9+24)%1000000=33//第5步与第6步结果相加取余

。。。。。。

#include using namespace std; int main() { int n; cin >> n; int s = 1,sum=0,mod = 1000000; for (int i = 1; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3