求级数和
题目描述:
我们让计算机来做一道数学题:计算S = 1/1!+1/2!+1/3!+...+1/ N!(其中N! = 1*2*3*...* N)。
输入:
输入整数N (1≤N≤1000)。
输出:
输出S,四舍五入到15位小数。
样例输入:
3
样例输出:
1.666666666666667
一开始读完题吓死我了(我以为要用高精度,话说我现在手写高精度还得30min/(ㄒoㄒ)/),但是……这题不用高精度啊,long long 甚至int 就能过了,题……大家都能看懂吧……:
#include<cstdio> #include<cmath> #include<iostream> #include<algorithm> using namespace std; int main() { int n; scanf("%d",&n); double s=0,m=1; for (int i=1;i<=n;i++) { m *= i; s += 1 / m; } printf("%.15lf",s); return 0; }