首页 > 编程语言 > 详细

蓝桥杯2015-校内选拔-C/C++-A组3题

时间:2020-01-15 19:16:07      阅读:118      评论:0      收藏:0      [点我收藏+]

前言

寒假在备赛蓝桥杯,做了一些题目,如有错误还望指正……

题目


如果x的x次幂结果为10(参见【图1.png】),你能计算出x的近似值吗?

显然,这个值是介于2和3之间的一个数字。

请把x的值计算到小数后6位(四舍五入),并填写这个小数值。

2.506184

注意:只填写一个小数,不要写任何多余的符号或说明。

 

技术分享图片

答案

二分法,2.506184

技术分享图片

代码

 1 #include<iostream>
 2 #include<cmath>
 3 #include<stdio.h>
 4 using namespace std;
 5 int main()
 6 {
 7      double up=10,down=1,mid=5.5,cnt=0;
 8      while(abs(log(mid)-1/mid)>0.000001){
 9          if(pow(mid,mid)-10>0){
10              up=mid;
11          }else if(pow(mid,mid)-10<0)
12          {
13              down=mid;
14          }
15          printf("%.10f,%.10f,%.10f\n",down,up,pow(mid,mid)-10);
16          cnt++; 
17          mid=(up+down)/2;
18          if(cnt>30)
19          break;
20          
21      } 
22      printf("%.6f",mid);//2.506184
23      return 0;
24 }

蓝桥杯2015-校内选拔-C/C++-A组3题

原文:https://www.cnblogs.com/memocean/p/12198002.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!