永发信息网

这道c语言的竞赛题谁会啊!!!

答案:1  悬赏:70  手机版
解决时间 2021-01-31 01:54
  • 提问者网友:情歌越听越心酸
  • 2021-01-30 05:34
这道c语言的竞赛题谁会啊!!!
最佳答案
  • 五星知识达人网友:话散在刀尖上
  • 2021-01-30 06:11
x^x = n
则:x  log n (x) = log n( n ) = 1,所以有 log n (x) = 1/x, 所以log n (x) - 1/x = 0;
所以这个问题就转化成了 求x,使得log n (x) - 1/x = 0; 也就是xy平面上第一象限内, y=log n (x)和 y=1/x的交点的x的值(一定在1和n之间)。
#include 
#include 
double func(double x,int n){ return (log(x)/log(n)-1/x); }
double code(int n){
    double f1,f0,f,x0=1,x1=n,x;
    f1 = func(x1,n);
    f0 = func(x0,n);
    do{
     x=(x1+x0)/2;
     f = func(x,n);
     if(f>0) { x1=x; f1=f; }
     else  { x0=x; f0=f; }
 } while(fabs(f)>1e-10) ;
    return x;
}
int main(){
    int n; char s[20];
    while(scanf("%d",&n)==1)
        printf("%.6f
",code(n));
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯