快速计算数a开b次平方根的值

就是sqrt(sqrt(sqrt(……)))一共b个sqrt吧。

等价变换

a 1 2 b = e l n ( a ) 2 b a^{\frac{1}{2^b}}=e^{\frac{ln(a)}{2^b}} a2b1=e2bln(a)

e 取15位 双精度最大值

2.718281828459045
#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;

int main()
{
    int a,b;
    double ret;
    scanf("%d%d",&a,&b);
    ret = (double)a;
    ret = log(ret)/(pow(2,b));
    ret = pow(2.718281828459045,ret);
    printf("%.2f\n",ret);
    return 0;
}

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页