x的x次方(第五届蓝桥杯省赛)

本文介绍了一种使用递归方法求解方程x^x=10的算法实现,通过逐步逼近的方法找到x的近似值,最终输出结果精确到六位小数,展示了具体的C++代码实现。

标题xx结果等于10,求x

这是往年蓝桥杯第五届省赛的一道题。我用的是递归的方式k的这道题。他要求的是近似六位小数,所以可以很快地得出答案。代码如下:

#include <iostream>
#include <cmath>
using namespace std;
double s=2,num;
int t=0;
void asd(double a,double b)
{
 if(t>=7)
 return;
 double sum,i;
 for(i=0;i<=9;i++)
 {
  sum=pow(a+i/(pow(10,t+1)),a+i/(pow(10,t+1)));
  if(sum>10.0)
  {
   num=i-1;
   s+=num/(pow(10,t+1));
   t++;
		//cout<<t<<":"<<s<<endl;
   asd(s,s);
   return;
  }
 }
}
int main()
{
 asd(2.0,2.0);
 printf("%.6lf\n",s);
 return 0;
}
输出:2.506184
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值