萌新求助:泰勒级数展开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编辑过]