新開一類寫比賽題目
問題描述
如果x的x次冪結果爲10,你能計算出x的近似值嗎?
顯然,這個值是介於2和3之間的一個數字。
請把x的值計算到小數後6位(四捨五入),並填寫這個小數值。
注意:只填寫一個小數,不要寫任何多餘的符號或說明。
比賽中使用暴力是最快的解決方法,雖然時間複雜度等增加,但在時間有限的情況下,不允許浪費
#include<stdio.h>
#include<math.h>
int main()
{
int count=0;
float temp,distance,tempres;
float result=2;
float mindis=100;
while(count<=6)
{
for(int i=0;i<=9;i++)
{
temp=result;
mindis=100;
temp=temp+pow(0.1,count)*i;
distance=10-pow(temp,temp);
if(distance>=0&&distance<mindis)
{
tempres=temp;
mindis=distance;
printf("%lf\n",tempres);
}
}
result=tempres;
count++;
}
printf("%lf\n",result);
}