游客 Signup | Login
中文 | En

3095 - 2002年秋浙江省计算机等级考试二级C 编程题(2)

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

要求定义并调用函数fact(n)计算n的阶乘,函数返回值的类型是点单精度浮点型。

* 输出保留4位小数

Input

正整数n

Output

数列之和

Examples

Input

2

Output

1.5000

Solution C

#include<stdio.h>
int main() {
        int i,n;
double item, sum;
        sum=0;
        item=1;
    scanf("%d",&n);
    for(i=1;i<=n;++i) {
        item=item/i;
        sum+=item;
    }
    printf("%.4f",sum);
    return 0;
    }

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
上一题 下一题