博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
洛谷——P1775 古代人的难题_NOI导刊2010提高(02)&& P1936 水晶灯火灵(斐波那契数列)...
阅读量:5270 次
发布时间:2019-06-14

本文共 799 字,大约阅读时间需要 2 分钟。

 

斐波那契数列

 

1.x,y∈[1…k],且x,y,k∈Z

2.(x^2-xy-y^2)^2=1

给你一个整数k,求一组满足上述条件的x,y并且使得x^2+y^2的值最大。

小FF得到答案后,用石笔将答案书写在羊皮纸上,那么就能到达王室的遗产所在地了。

 

证明可直接转%%%%

化简式子:

$(x^2-xy-y^2)^2=1$

$(y^2+xy-x^2)^2=1$

$((x+y)^2+xy+2*x^2)^2=1$

$((x+y)^2+(x+y)*x+x^2)^2=1$

 

斐波那契数列的性质之一:

${f_n}^2-f_{n-1}*f_{n+1}=-1^{n-1}$

把$f_{n+1}$替换成$f_n+f_{n-1}$

${f_n}^2-f_{n}*f_{n-1}-{f_{n-1}}^2=-1^{n-1}$

然后就发现这两个式子很像

 

我们要求$x^2+y^2$的最大值。

就是求${f[n]}^2+{f[n-1]}^2$的最大值。

#include
#include
#define N 10000#define LL long longusing namespace std;LL f[N],n;int main(){ scanf("%lld",&n); f[0]=f[1]=1; for(int i=2;;i++){ f[i]=f[i-1]+f[i-2]; if(f[i]>n){ printf("%lld %lld\n",f[i-1],f[i-2]); return 0; } } return 0;}

 

转载于:https://www.cnblogs.com/song-/p/9767742.html

你可能感兴趣的文章
我的Hook学习笔记
查看>>
js中的try/catch
查看>>
寄Android开发Gradle你需要知道的知识
查看>>
整理推荐的CSS属性书写顺序
查看>>
ServerSocket和Socket通信
查看>>
css & input type & search icon
查看>>
Octotree Chrome安装与使用方法
查看>>
趣谈Java变量的可见性问题
查看>>
C# 强制关闭当前程序进程(完全Kill掉不留痕迹)
查看>>
ssm框架之将数据库的数据导入导出为excel文件
查看>>
语音识别中的MFCC的提取原理和MATLAB实现
查看>>
验证组件FluentValidation的使用示例
查看>>
0320-学习进度条
查看>>
解决windows系统的oracle数据库不能启动ora-00119和ora-00130的问题
查看>>
ip相关问题解答
查看>>
MetaWeblog API Test
查看>>
反弹SHELL
查看>>
关闭Chrome浏览器的自动更新和升级提示
查看>>
移动、尺寸改变
查看>>
poj2255Tree Recovery【二叉树重构】
查看>>