计算欧拉常数,要求精确到小数点后10位,我的算法很慢,谁有更好的算法?
我的代码(vc++6.0):// oula.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
int main(int argc, char* argv[])
{
double i,n,x,y,z,t;
clock_t begin,end;
printf("n=");
scanf("%lf",&n);
begin=clock();
i=0;y=0;
while(i<n)
{
i++;
y+=1.0/i;
}
x=log(n);
z=y-x;
end=clock();
t=(double)(end-begin)/CLOCKS_PER_SEC;
printf("\n");
printf("%16.16f\n",z);
printf("%f\n",t);
return 0;
}