0
点赞
收藏
分享

微信扫一扫

OJ每日一练——阶乘数列和 v2.0

问题描述:

Sn=1!+2!+3!+4!+5!+…+n!Sn=1!+2!+3!+4!+5!+…+n!,其中n,1是一个正整数,求Sn的末6位。n,1是一个正整数,求Sn的末6位。

输入
1个正整数n(1 \leq n \leq 10000)n(1≤n≤10000)

输出
1个整数,表示SnSn的末6位。高位的0不输出。

样例

输入
2

输出
3


Java代码:

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner rd= new Scanner(System.in);
        int n = rd.nextInt();
        int i = 1, s = 1, sum = 0;
        while (i <= n) {
            s *= i;
            s %= 1000000;
            sum += s;
            i++;
        }
        sum%= 1000000;
        System.out.println(sum);
    }
}

C代码:


#include <stdio.h>
int main(){
    int a;
    scanf("%d",&a);
    int s=1;
    int sum=0;
    int i=1;
    while(i<=a){
        s=s*i;
        s=s%1000000;
        sum=sum+s;
        i++;
    }
    sum=sum%1000000;
    printf("%d",sum);
}

C++代码:

#include<iostream>
using namespace std;
int main()
{
	int n;
	cin>>n;
    int sum=0;
    if(n>25)n=25;
	for(int i=1;i<=n;i++)
	{	int s=1;	    
		for(int j=1;j<=i;j++)
		{
			s*=j;
			s%=1000000;
		}	
		sum+=s;
		sum%=1000000;
	}
	printf("%d",sum);
	return 0;
}

举报

相关推荐

0 条评论