主页 > 手机  > 

肖恩的n次根(二分)

肖恩的n次根(二分)
问题描述

喜欢研究数学问题的肖恩注意到,在编程语言中通常内置函数只有开平方根和开立方根。但是肖恩想知道开高次方根(大于 3 次方称为高次方)应该怎么来做。请你设计一个程序来帮帮肖恩。

输入描述

输入两个数字 a 和 b ,输出 a 的 b 次方根的值。

数据保证: 0<a≤1000,1≤b≤5。

输出描述

输出 aa 的 bb 次方根的值乘 1000 后保留整数的结果。

样例输入 5 3

样例输出 1709 说明

55 开 33 次方根的结果保留五位小数是 1.709981.70998 ,乘 10001000 得到 1709.981709.98 ,保留整数以后得到 17091709 。

#include <bits/stdc++.h> using namespace std; typedef long long ll; #define endl '\n' double a,b; bool check(double n) { double cnt=1; for(int i=1;i<=b;i++)cnt*=n; return cnt>=a; } double bsearch(double l,double r) { double eps=1e-6; while(r-l>eps) { double mid=(l+r)/2; if(check(mid))r=mid; else l=mid; } return r; } int main() { cin>>a>>b; double ans=bsearch(1.0,1000.0); cout<<(int)(ans*1000); }

标签:

肖恩的n次根(二分)由讯客互联手机栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“肖恩的n次根(二分)