PTA 階乘和加強版

計算階乘和Sum= 1!+2!+…+n! 對1000000007求模的結果(不含前導0)。

輸入格式:
輸入若干個整數 ,其中每個整數 N ,滿足1<=N<=200000000。

輸出格式:
輸出對應各個整數的階乘和對1000000007求模的結果,每個一行,最後一行後面一樣有換行符。

輸入樣例:
在這裏給出一組輸入。例如:
5
18
200000000

輸出樣例:
在這裏給出相應的輸出。例如:
153
478885618
9949683

#include <iostream>
using namespace std;
int main() {
	long long N, Sum = 0, result = 0;
	while (cin >> N) {
		long long factorial = 1;
		for (long long i = 1; i <= N; i++) {
			factorial = (factorial * i) % 1000000007;
			Sum = (Sum + factorial) % 1000000007;
		}
		result = Sum % 1000000007;
		Sum = 0;
		cout << result << endl;
	}
	return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章