极值问题('95NOI试题)

极值问题('95NOI试题):

m、n为整数,且满足下列两个条件:

① m、n∈{1,2,…,K}(1≤K≤109);

② ②(n2-mn-m2)2=1。

编一程序,由键盘输入K,求一组满足上述两个条件的m、n,并且使m2+n2的值最大。例如,若 K=1995,则m=987,n=1597,则m、n满足条件,且可使m2+n2的值最大。




此题一看K的范围,发现枚举必超时,一时不知如何下手。看了解题报告后。。。顿时就跪了

特么的又是fibonacci啊。。。贴题解~

从简单情况人手:
    设定m=1,将m代人方程②有(n2-n-1)2=1,可求出n=1;
         m=2,代人②,有(n2-2n-4)2=1,可求出n=3;
         m=3,代人②,有(n2-3n-9)2=1,可求出n=5;
         m=4,代人②,有(n2-4n-16)2=1,可知无整数解;
         m=5,代人②,有(n2-5n-25)2=1,可求出n=8;
    将满足条件的m,n排列在一起,有:1 2 3 5 8…
    看到上述数列,熟悉Fibonacci数列的应该有些面熟,于是就可以猜测,m,n是否为Fibonacci数列中相邻的两项,提出这样的猜想之后,就可以再次设定m=8,可求出n正好等于13,可见猜想成立。提出猜想之后,就应该想办法证明这一猜想。事实上,对条件②的等式进行一些数学变换:
    (n2-mn-m2)2=[-(n+m)2+2n2+mn]2=[(n+m)2-n(n+m)-n2]2 =[(n')2-m'n'-(m')2]2
    其中:n'=m+n,m'=n
    由上述数学变换可以得出,若m和n为满足条件的一组解,则m'和n'也是满足条件的一组解。通过上述证明可知,m,n的确是满足Fibonacci数列的相邻两项,即猜想得以证明。再加上题设中要求使得m2+n2的值最大的条件,可知问题的解即为Fibonacci数列中小于k的最大两个相邻数。
    由此可见,上述例题的求解方法正是归纳策略一般所要求的三个步骤:从简单情况人手、寻找规律、提出猜想和验证猜想。


  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值