ACM练习--(二)阶乘之和

题目描述:

输入n, 计算S1! + 2! + 3! + n! 的末6位( 不含前导0 )n≤10^6n!表示前n个正整数之积。
样例输入:
10
样例输出:

37913

我的代码如下:

#include<iostream>
using namespace std;
int main()
{
	int T,n=1,sum=0;
	cin>>T;
	for(int i=1;i<=T;i++)
	{
		n=n*i;   //每一次阶乘 
		sum+=n;  //阶乘加和 
	}
	cout<<sum%1000000<<endl;//后六位 
	return 0;
} 

这是算法竞赛入门经典中的解答代码:

#include<stdio.h>
int main()
{
    int n, S = 0;
    scanf("%d", &n);
    for(int i = 1; i <= n; i++)
    {
    int factorial = 1;
        for(int j = 1; j <= i; j++)
        factorial *= j;
    S += factorial;
    }
printf("%d\n", S % 1000000);
return 0;
}


猜你喜欢

转载自blog.csdn.net/qq_40279795/article/details/80709695