萌新求助:泰勒级数展开e
【问题描述】输入一个正整数n,计算下式的和。
e=1+1/1!+1/2!+1/3!+ …… +1/n!
【输入形式】
从键盘输入一个正整数n。
【输出形式】
输出一个实数(保留4位小数)。
【输入样例】
10
【输出样例】
e=2.7183
【样例说明】
英文字母区分大小写。必须严格按样例输入输出。
谢谢大佬呜呜
程序代码:
/*虽然未经编译调试,但差不多就是这样了*/
#include <stdio.h>
unsigned long
Factorial( unsigned int n );
int
main( void )
{
unsigned int n;
unsigned int ix;
double sum;
for( sum = 1.0, scanf( "%ud", &n ), ix = 1; n >= ix; ++ix )
sum += 1.0 / (double)Factorial( ix );
printf( "e=%.4lf", sum );
return 0;
}
unsigned long
Factorial( unsigned int n )
{
unsigned int ix;
unsigned long FA;
if( 0 >= n )
return 0;
else if( 1 == n )
return 1;
else if( 2 == n )
return 2;
else
for( ix = 1, FA = 1; n >= ix; ++ix )
FA *= ix;
return FA;
}
[此贴子已经被作者于2017-6-18 20:28编辑过]
