游客 Signup | Login
中文 | En

2092 - 阶乘数列之和

输入一个正整数n.求1+1/2!+1/3!+....+1/n!

* 输出保留4位小数

Input

正整数n

Output

数列之和

Examples

Input

2

Output

1.5000

Solution C

#include <stdio.h>
int main(int argc, char *argv[])
{
	float fact(int);
	int n;
	float sum=0;
	scanf("%d",&n);
	for(;n>0;n--)
	{
		sum+=1/fact(n);
	}
	printf("%.4f\n",sum);
	return 0;
}
float fact(int n)
{
	float sum=1;
	for(;n>0;n--)
	{
		sum*=n;
	}
	return sum;
	
}

Solution C++

#include<iostream>
#include<cstdio>
using namespace std;
float fact(int n)	//求阶乘
{
	float s=1;
	for (int i=1; i<=n; i++) s*=i;
	return s;
}
int main()
{
	int n;
	cin>>n;
	float sum=0;
	for (int i=1; i<=n; i++) sum+=1/fact(i);
	printf("%.4f\n",sum);
	return 0;
}
Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题