首页 > 编程知识 正文

数独九宫格难度系数2,数独难度系数2答案

时间:2023-05-05 15:44:52 阅读:242228 作者:1914

计算阶乘和Sum= 1!+2!+…+n! 对1000000007求模的结果(不含前导0)。
输入格式:
输入若干个整数 ,其中每个整数 N ,满足1<=N<=20000000。
输出格式:
输出对应各个整数的阶乘和对1000000007求模的结果,每个一行,最后一行后面一样有换行符。
输入样例:
在这里给出一组输入。例如:

因为在求阶乘的过程中会产生很大的数,会溢出,所以不能将每次阶乘的结果都存放在变量中,而是要在求阶乘的过程中就取余。
原理:
1. (a*b) mod c = (a mod c) * ( b mod c)
2. (a+b) mod c = (a mod c) +(b mod c)

// 2019/11/24 第一篇博客#include<stdio.h>int main(){ int N; while(scanf("%d",&N)!=EOF) { long long fact=1,sum=1; for (int i =2; i<=N; i++) { fact=(fact*i)%1000000007;//由原理一可知,阶乘的结果每次都保存,不用再算一遍 .由原理1 ,可以把每次相乘后都对1000000007取余 sum=(fact+sum)%1000000007;//由原理二可知 ,阶乘和的结果对1000000007取余可以每次对1000000007取余后再加入sum中 } printf("%lldn",sum); } return 0;}

大一wydxbw,卑微做题。
取余的方法来源与百度。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。