永发信息网

c++ 求以2为底的对数,程序代码

答案:3  悬赏:80  手机版
解决时间 2021-03-31 13:22
c++ 求以2为底的对数,程序代码
最佳答案
c++ 求以2为底的对数的程序代码:
#include
#include
double eff=1e-5;
double static x;
double static n=0;
double b(double i)
{
if(0==i) return 1;
return b(i-1)/2;
}
double a(double i)
{
if(0==i) return x;
if(pow(a(i-1),2)<2) return pow(a(i-1),2);
if(pow(a(i-1),2)>=2) return pow(a(i-1),2)/2;
}
double S(double i)
{
if(0==i) return 0;
if(pow(a(i-1),2)<2) return S(i-1);
if(pow(a(i-1),2)>=2)return S(i-1)+b(i);
}
double log2(double x)
{
if(x>0 && x<1) return -log2(1/x);
if(x>pow(2,n)) return n+log2(x/pow(2,n));
if(x>=1 && x<2) return S(n);
}
int main()
{
cout<<"请输入x:"< cin>>x;
double b0=1;
while(1)
{
b0=b0/2;
if(b0<=eff)
break;
else
n++;
}
cout<return 0;
}

c++ :
C++是在C语言的基础上开发的一种面向宇宙编程语言,应用广泛。C++支持多种编程范式 --面向对象编程、泛型编程和过程化编程。最新正式标准C++14于2014年8月18日公布。其编程领域众广,常用于系统开发,引擎开发等应用领域,是至今为止最受广大程序员受用的最强大编程语言之一,支持类:类、封装、重载等特性。
全部回答
C语言上面不是直接有函数可以用么?
你的log2方法有问题吧
首先你的n的值是固定的,不同的x的值的情况下n固定。
其次,肯能没有返回值。
double log2(double x)
{
if(x>0 && x<1) return -log2(1/x);
if(x>pow(2,n)) return n+log2(x/pow(2,n));
if(x>=1 && x<2) return S(n);
}
分析,当x>2并且小于pow(2,n)的情况下怎么样?
递归不到了。
有问题。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
CUBIC FT怎么算
单选题有两个实心金属块,密度分别为ρ甲和ρ
什么板栗品种适合做糖炒栗子
如图在CDR-X4中,求一个文本框文字多了,想放
谛力装修宝好不好?
请问针织厂是做什么的
想从郑卅去昆明,尽量坐高铁,怎么换乘方便?
大家知道广东国新投资发展有限公司吗?有人是
怎么超度已死的生命
帮忙看看在村里挖出来的,还有好几件
听说苏州出新电动车牌照了,旧的必须去换吗?
宦妃还朝中苏绯色什么时候知道玉璇玑不是太监
彩云湖打的到重庆北需要多少钱
C#转义字符的字符串如何转换为转义字符
新疆有种枣看起来很多霉灰是什么枣
推荐资讯
黑龙江驻北京办事处在哪?
宝宝一周半了,发现喝的奶粉配方里有乙基香兰
开瑞绿卡s和江淮帅铃2.8t哪个更优秀点!
马鞍山市慈湖河路雨顺家苑座几路公交车
男生体质问题
剑宗现在做什么异界套好,或者做那套异界能混
谁知道这个女的是谁啊HHHHH
中国古代历史上的武举人到底有多厉害
买房子为什么有首付2层的,有3层的
肃宁到保定
这段javascript与perl交互时,应该用POST还是
"月冷寒泉凝不流,棹歌何处泛舟"的诗名是什么
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?