第六届蓝桥杯大赛个人赛(软件类)校内选拔题目X^X=10
2016-02-28 16:30
411 查看
如果x的x次幂结果为10(参见【图1.png】),你能计算出x的近似值吗?
显然,这个值是介于2和3之间的一个数字。
请把x的值计算到小数后6位(四舍五入),并填写这个小数值。
注意:只填写一个小数,不要写任何多余的符号或说明。
当然这题使用暴力破解是可以的:
但是用二分法可以大大减少计算时间:
显然,这个值是介于2和3之间的一个数字。
请把x的值计算到小数后6位(四舍五入),并填写这个小数值。
注意:只填写一个小数,不要写任何多余的符号或说明。
当然这题使用暴力破解是可以的:
#include<iostream> #include<iomanip> #include<math.h> using namespace std; int main() { double e=2.4; for(;;e=e+0.0000001) { double a=pow(e,e); if(fabs(a-10)<0.0000001) cout<<fixed<<setprecision(6)<<e; } return 0; }
但是用二分法可以大大减少计算时间:
#include<iostream> #include<iomanip> #include<cmath> using namespace std; int main() { long double a=2.0,b=3.0,c=1,aa,bb,cc=1.0; while(fabs(cc)>1e-8) { c=(a+b)/2.0; aa=pow(a,a)-10.0,bb=pow(b,b)-10.0,cc=pow(c,c)-10.0; if(aa*cc<0) b=c; else if(bb*cc<0) a=c; cc=pow(c,c)-10.0; } cout<<fixed<<setprecision(7)<<c<<endl; }
相关文章推荐
- express视图助手dynamicHelpers和helpers从2.x到3.x的变化
- Android之Fragment优点
- IT Knowledge Notes
- Uva699——The falling leaves
- 建立物品的同现矩阵的过程 和 同现矩阵*评分矩阵的意义
- 1018. 锤子剪刀布 (20)
- android-百度地图开发学习1
- 快速排序的递归和非递归实现
- javascript笔记——jikeytang javascript前端群 389875212 精华总结
- android串行化getSerializable、getSerializableExtra
- javascript高级程序设计笔记-第四章(变量、作用域)
- MySQL的主从复制步骤详解及常见错误解决方法
- 【机房合作】——观察者模式下机
- 浮动二三事
- andriod 读取通讯录
- 深入分析Java的序列化与反序列化
- node.js入门教程
- YTU 2457: 很简单的一道题
- mov和ldr/str的区别
- NSDate与NSDateFormatter