//ln2的c++实现
#include <iostream>
using namespace std;
int main()
{
    double y,x,p=1;
    int a,k=0;
    int n;
    //cin>>n;
    cin>>a;
    x=a-1;
    for(int i=0; i<10000; i++)
    {
        if(i%2==0)
        {
            for(int j=0; j<k; j++)
            {
               x*=x;
            }
            x/=p;
        }
        if(i%2!=0)
        {
            for(int j=0; j<k; j++)
            {
                x*=x;

            }
            x=-x;
            x/=p;
        }
        y+=x;
        p++;
        k++;
      x=a-1;
    }
    cout<<y<<endl;
    return 0;
}

哈哈哈,闲的没事干,小数点后前三位是对的,如果想提高精度,增加循环次数就行哦!

更多推荐