题目
描写叙述:
题目描写叙述
编敲代码,输入一个正整数n。求下列算式的值。要求定义和调用函数fact(k)计算k的阶乘。
1+1/2!+ .... +1/n!
计算结果保存在double类型变量中。
接口说明
原型:
void GetResult(int InputNum, double *NumResult);
输入參数:
Int InputNum:输入一个正整数,进行表达式计算
char *NumResult:输出表达式的值
返回值:
void
练习阶段: 0基础
代码
/*---------------------------------------
* 日期:2015-07-04
* 作者:SJF0115
* 题目:数列求和
* 来源:华为机试练习题
-----------------------------------------*/
#include <iostream>
#include "OJ.h"
using namespace std;
// int溢出
double fact(int k){
double result = 1;
for(int i =1;i<=k;i++){
result *=i;
}//for
return result;
}
/*
void GetResult(int InputNum, double *NumResult);
输入參数:
Int InputNum:输入一个正整数。进行表达式计算
char *NumResult:输出表达式的值
返回值:
void
*/
void GetResult(int InputNum, double *NumResult){
double tmp ,sum = 0.0;
for(int i = 1;i <= InputNum;i++){
tmp = 1.0 / fact(i);
sum += tmp;
}//for
*NumResult = sum ;
}