u Calculate e
#include <iostream> #include <iomanip> #include <cassert> using namespace std; int factorial(int i) { if(i==0 || i==1) { return 1; } else { int product = 1; for(int j=1; j<=i; j++) { product = product*j; } return product; } } int main() { long double sum = 0; cout << "n e" << endl; cout << "- -----------" << endl; for(int n=0; n<10; n++) { sum = 0; for(int i=0; i<=n; i++) { assert(factorial(i) != 0); sum += 1.0/factorial(i); //1.0 other than 1 } cout.precision(10); if (n > 2) { cout.setf(ios::showpoint);//强制输出相加产生的末尾的0 } cout << n << ' ' << sum; cout << endl; } return 0; }
以上是我写的,下面是转来的:
#include<stdio.h> int main() { int x=2,i=3; double sum = 2.5; printf("n e\n"); printf("- -----------\n0 1\n1 2\n2 2.5\n"); for(i = 3; i != 10; i++){ x*=i; sum+=1.0/(double)x; printf("%d %.9f\n",i,sum); } }