2033:【例4.19】阶乘之和

 分析:正常迭代肯定会超出范围,所以每次都要取模于1000000。

#include<iostream>
using std::cin;
using std::cout;

int main()
{
	int n;
	cin >> n;
	int sum = 1;//总和
	int num = 1;//记录每个阶乘

	if (n == 1)
	{
		cout << sum;
	}
	else
	{
		for (int i = 2; i <= n; ++i)
		{
			num *= i;
			num %= 1000000;
			//取模于1000000,避免超出范围

			sum += num;
			sum %= 1000000;
			//这个总和也要取模,不然也有可能超出范围
		}

		cout << sum;
	}
}

 

Guess you like

Origin blog.csdn.net/LWX3289765163/article/details/121368360
Recommended