您的位置:首页 > 其它

[TYVJ1334] powermax

2015-07-26 21:53 169 查看

powermax

描述

对于一个整数K,有很多组数对(M,N)满足如下两个性质:

1.1<=M<=N<=K

2.(N^2-MN-M^2)^2=1

求一对(M,N)使M^2+N^2最大.

输入格式

一个整数K

输出格式

两个整数M,N

输入

1995

输出

987 1597

备注

时限0.5s

1<=k<=10^9

题解

(n2−nm−m2)2=1——[1](n^2-nm-m^2)^2=1 ——[1]

=>((n+m)2−n(n+m)−n2)2=1——[2]=> ((n+m)^2-n(n+m)-n^2)^2=1 ——[2]

假设一个函数F[a]假设一个函数F[a]

若max(n2+m2),那么n与m最接近(m≤n≤k)若max(n^2+m^2),那么n与m最接近(m\le n\le k)

所以我们再假设m=F[x] n=F[x+1]所以我们再假设m=F[x]\ \ \ \ n=F[x+1]

所以对于[1]式我们得到=>(F[x+1]2−F[x+1]∗F[x]−F[x]2)2=1——[3]所以对于[1]式我们得到\\ =>(F[x+1]^2-F[x+1]*F[x]-F[x]^2)^2=1——[3]

然后我们把式子[3]与式子[2]对应,我们得到F[y+1]=n+m=F[x+1]+F[x]F[y]=n=F[x+1]F[y+1]−F[y]=m=F[x]然后我们把式子[3]与式子[2]对应,我们得到\\F[y+1]=n+m=F[x+1]+F[x]\\ F[y]=n=F[x+1]\\ F[y+1]-F[y]=m=F[x]

[捂脸]有点蒙QAQ

F[a]为斐波那契数列

var
x:array[0..50]of longint;
i,j,k:longint;
begin
readln(k); x[0]:=1; x[1]:=1;
for i:=2 to 100 do
begin
x[i]:=x[i-1]+x[i-2];
if x[i]>k then begin writeln(x[i-2],' ',x[i-1]); halt; end;
end;
end.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: