2092 - 阶乘数列之和

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

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

* 输出保留4位小数

题目输入

正整数n

题目输出

数列之和

输入/输出样例

输入格式

2

输出格式

1.5000

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;
	
}

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;
}