(Relax ST1.8)POJ 1517 u Calculate e(求各阶乘累加之和)


/*
 * POJ_1517.cpp
 *
 *  Created on: 2013年11月26日
 *      Author: Administrator
 */

#include <iostream>
#include <cstdio>

using namespace std;

double rank(int n){//返回n!的倒数...
	double val;
	double mul = 1;

	if(n == 0){
		val = 1;
	}else{
		int i;
		for(i = 1 ; i <= n ;++i){
			mul *= i;
		}

		val = 1/mul;
	}

	return val;
}

int main(){
	printf("n e\n");
	printf("- -----------\n");

	int i;
	double e = 0;
	for(i = 0 ; i <= 9 ; ++i){//用e来记录各阶乘累加之和...
		e += rank(i);
		printf("%d %.9lf\n",i,e);
	}

	//***需要注意的是1 和 1.000000,这种情况下,POJ也会AC...
	return 0;
}






你可能感兴趣的:((Relax ST1.8)POJ 1517 u Calculate e(求各阶乘累加之和))