数学问题,实际是个算法问题.

Zark 2002-09-20 01:28:23
已知函数
f(x)=f(x-1)+f(x-2)+1
且:
f(0)=0;
f(1)=1;
x>=2;

求f(x)的逆函数.

本题是从一个算法问题中抽象出来的.原问题是
对于一个费巴拉契树,求其结点数与其高度的对应函数,(其中结点数是自变量).
...全文
41 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Zark 2002-09-24
  • 打赏
  • 举报
回复
妙啊!
o3y(想飞的菜鸟) ,你是学什么专业的?
o3y 2002-09-23
  • 打赏
  • 举报
回复
由的算法的原型,x应该是整数。
设y=((1+sqrt(5))/2)^x,则((1-sqrt(5))/2)^x=((-1)^x)/y,两个系数设为a,b,解析式化为f(x)=a*y+b*((-1)^x)/y-1。
两边同乘以y得y*f(x)=a*y^2+b*((-1)^x)-y,即a*y^2-(f(x)+1)*y+b*((-1)^x)=0。
当x为奇数时,有a*y^2-(f(x)+1)*y-b=0,以y为唯一的一个未知数,由韦达定理解出y1,y2,则x=ln(y1)/ln((1+sqrt(5))/2)或ln(y2)/ln((1+sqrt(5))/2)。
同理可解出x为偶数的情况。
这里的y1,y2都是带有f(x)的多项式,因此最后得到的也就是x关于f(x)的函数。
Zark 2002-09-23
  • 打赏
  • 举报
回复
上次的初值有问题,应是:
f(x)=f(x-1)+f(x-2)+1,
f(0)=1,f(1)=3.

解出其解析式为
f(x)=(10+6*sqrt(5))/10 * ((1+sqrt(5))/2)^x + (10-6*sqrt(5))/10*((1-sqrt(5))/2)^x -1,

问题仍然存在,f(x)的反函数倒底是什么? 可否有解析式?

多谢用代码给解的同仁,不过那不是我要求的答案.
咱的四个角不是倒分倒来的,写代码不是问题.不幸的是数字根底不够.

haozaizi 2002-09-22
  • 打赏
  • 举报
回复
利用递归的方法例如,给你一个值,不妨设k,加一个判断语句!!
(伪代码)n=0,f(0)=1; while( f(n)!=k){ f(n++)=f(n)+f(n-1);}
print(n);
o3y 2002-09-22
  • 打赏
  • 举报
回复
楼主对题目的化简是有效的,不过化简到f(x)=a*p^x+b*q^x+c后还可以得到一个条件p*q=-1,这样就能解出题目了。
Zark 2002-09-21
  • 打赏
  • 举报
回复
再简化一把.

f(x)=x^2, g(x)=sqrt(x), g(x)称为f(x)的逆函数,即自变量和变量倒置一下,


如果f(x)= a * p^x + b * q^x + c, (a,b,c,p,q 均为常数),
请问f(x)的逆函数.

o3y 2002-09-21
  • 打赏
  • 举报
回复
令g(x)=f(x)+1,则公式变为g(x)=g(x-1)+g(x-2),其中g(0)=1,g(1)=2,为菲波那契数列,设a=(1+Sqrt(5))/2,b=((1-Sqrt(5))/2,则它的通项公式是Sqrt(5)*g(x-2)=a^x+b^x,而这里a*b=-1,设c=a^x,则化为了Sqrt(5)*g(x-2)=c+1/c*(-1)^x。在菲波那契数列中x为整数,而这样的话分奇偶性讨论就变成了二元一次方程,解出c就可以得到反函数了。
MrMu 2002-09-20
  • 打赏
  • 举报
回复
这个样子你会么,就是转换一下
f(x)+1=f(x-1)+1+f(x-2)+1
这样令g(x)=f(x)+1;
原式化为g(x)=g(x-1)+g(x-2){g(0)=1;g(1)=2}
这样,我们就可以求特征值为(1+sqrt(5))/2,(1-sprt(5))/2;
然后是待定系数就令g(x)=a*((1+sqrt(5))/2)^x+b*((1-sqrt(5))/2)^x;
由初值条件就有
a=(3+3*sqrt(5))/2;b=-((3+sqrt(5))/2);
就可以求出f(x)对应的公式了;
那么已知一个方程而求其解的算法就在书上了,
Zark 2002-09-20
  • 打赏
  • 举报
回复
它的逆函数是
f(g(x))=x;
其中x>5;
g(x)=2*g(x-1)-g(x-3), g(0)=1, g(1)=3, g(2)=5;
哪位仁兄可能帮忙简化一下?
Zark 2002-09-20
  • 打赏
  • 举报
回复
f(x)的函数表达不重要,我希望到的是

逆函数.
积木 2002-09-20
  • 打赏
  • 举报
回复
这个样子你会么,就是转换一下
f(x)+1=f(x-1)+1+f(x-2)+1
这样令g(x)=f(x)+1;
原式化为g(x)=g(x-1)+g(x-2){g(0)=1;g(1)=2}
这样,我们就可以求特征值为(1+sqrt(5))/2,(1-sprt(5))/2;
然后是待定系数就令g(x)=a*((1+sqrt(5))/2)^x+b*((1-sqrt(5))/2)^x;
由初值条件就有
a=(3+3*sqrt(5))/2;b=-((3+sqrt(5))/2);
就可以求出f(x)对应的公式了;
那么已知一个方程而求其解的算法就在书上了,

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧