vijos - P1543极值问题(斐波那契数列 + 公式推导 + python)
背景
小铭的数学之旅2。
描写叙述
已知m、n为整数,且满足下列两个条件:
① m、n∈1,2。…,K
② (n^ 2-mn-m^2)^2=1
编一程序。对给定K,求一组满足上述两个条件的m、n,而且使m^2+n^2的值最大。比如,若K=1995。则m=987,n=1597,则m、n满足条件,且可使m^2+n^2的值最大。
格式
输入格式
输入仅一行,K的值。
输出格式
输出仅一行,m^2+n^2的值。
限制
每一个測试点1秒。
提示
Source:
汕头市FXOI组
Phoeagon
ThanX2 Sivon
For TripleY
对于这道题目首先我们得找到项与列的关系
于是能够得到a[i] = 3 * a[i - 1] - a[i - 2]{当中i表示的是斐波那契数列的项数}
如此就能够解决这个问题了
#!/usr/bin/env python3
# -*- coding: utf-8 -*- k = int(raw_input())
a = 1
b = 1
ans = 2
cnt = 2
if k == 1:
print 2
elif k == 2:
print 5
else:
while True:
if ans > k:break
t = a
a = a + b
b = t
ans += a
cnt += 1
c = 1
d = 1
for i in range(cnt):
t = c
c = c * 3 - d
d = t
print c
vijos - P1543极值问题(斐波那契数列 + 公式推导 + python)的更多相关文章
- 斐波那契数列的Python实现
		
斐波那契数列的Python实现:递归实现.非递归实现.斐波那契数列生成器: \[ \begin{equation} F(n)= \begin{cases} n & n=0, 1\\ F(n ...
 - 青蛙跳台阶问题(斐波那契数列) python
		
一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法 class Solution: def jump(self,n): if n ==0: return 0 el ...
 - Python中斐波那契数列的四种写法
		
在这些时候,我可以附和着笑,项目经理是决不责备的.而且项目经理见了孔乙己,也每每这样问他,引人发笑.孔乙己自己知道不能和他们谈天,便只好向新人说话.有一回对我说道,“你学过数据结构吗?”我略略点一点头 ...
 - C#求斐波那契数列第30项的值(递归和非递归)
		
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
 - 斐波拉契数列加强版——时间复杂度O(1),空间复杂度O(1)
		
对于斐波拉契经典问题,我们都非常熟悉,通过递推公式F(n) = F(n - ) + F(n - ),我们可以在线性时间内求出第n项F(n),现在考虑斐波拉契的加强版,我们要求的项数n的范围为int范围 ...
 - js中的斐波那契数列法
		
//斐波那契数列:1,2,3,5,8,13…… //从第3个起的第n个等于前两个之和 //解法1: var n1 = 1,n2 = 2; for(var i=3;i<101;i++){ var ...
 - 剑指Offer面试题:8.斐波那契数列
		
一.题目:斐波那契数列 题目:写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项.斐波那契数列的定义如下: 二.效率很低的解法 很多C/C++/C#/Java语言教科书在讲述递归函数的时 ...
 - 算法: 斐波那契数列C/C++实现
		
斐波那契数列: 1,1,2,3,5,8,13,21,34,.... //求斐波那契数列第n项的值 //1,1,2,3,5,8,13,21,34... //1.递归: //缺点:当n过大时,递归 ...
 - 洛谷P1962 斐波那契数列 || P1349 广义斐波那契数列[矩阵乘法]
		
P1962 斐波那契数列 大家都知道,斐波那契数列是满足如下性质的一个数列: • f(1) = 1 • f(2) = 1 • f(n) = f(n-1) + f(n-2) (n ≥ 2 且 n 为整数 ...
 
随机推荐
- 新建Eclipse工作空间,复制原有的配置(转)
			
方法一: File->Switch workspace->Other...,按下图选择 只复制简单的配置,如cvs之类的信息是不会复制的. 方法二: 在方法一的基础上做如下操作 将新建的w ...
 - npm --save 选项作用
			
npm --save 选项作用 学习了:https://segmentfault.com/q/1010000000403629 -save和save-dev可以省掉你手动修改package.json文 ...
 - [TypeScript] Generic Functions, class, Type Inference and Generics
			
Generic Fucntion: For example we have a set of data and an function: interface HasName { name: strin ...
 - 安卓版微信自带浏览器和IE6浏览器ajax请求abort错误处理
			
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46419567 给页面元素绑定了一个click事件用来触发ajax请求.在安卓微信自 ...
 - linux定时备份mysql数据库文件
			
1.设定定时器:终端敲入:crontab -e命令 2,然后写入 00 23 * * * /home/db_bak_file/dbbak.sh >>/home/db_bak_fil ...
 - Maximum Bipartite Matching
			
算法旨在用尽可能简单的思路解决这个问题.理解算法也应该是一个越看越简单的过程,当你看到算法里的一串概念,或者一大坨代码,第一感觉是复杂,此时最好还是从样例入手.通过一个简单的样例,并编程实现,这个过程 ...
 - m_Orchestrate learning system---六、善用组件插件的好处是什么
			
m_Orchestrate learning system---六.善用组件插件的好处是什么 一.总结 一句话总结: 1.面包屑导航是什么? 知道它是什么自然就知道它怎么用了 2.表格里面的栏目能能点 ...
 - event内存泄漏
			
C#内存泄漏--event内存泄漏 内存泄漏是指:当一块内存被分配后,被丢弃,没有任何实例指针指向这块内存, 并且这块内存不会被GC视为垃圾进行回收.这块内存会一直存在,直到程序退出.C#是托管型代码 ...
 - java算法数据结构
			
原文地址:github.com/kdn251/interviews 译文出自:掘金翻译计划 译者:王下邀月熊 校对者:PhxNirvana.根号三 这个 链接 用来查看本翻译与英文版是否有差别(如果你 ...
 - java 后台实现ajax post跨域请求传递json格式数据获取json数据问题
			
参考大神:http://blog.csdn.net/chunqiuwei/article/details/19924821 java后台: public String ajaxProxy(Intege ...