已知m、n为整数,且满足下列两个条件:
① m、n∈{1,2,…,k},即1≤m,n≤k
②(n2-m*n-m2)2=1
你的任务是:编程输入正整数k(1≤k≤109),求一组满足上述两个条件的m、n,并且使m2+n2的值最大。例如,从键盘输入k=1995,则输出:m=987 n=1597。
输入
输入正整数k(1≤k≤109)
输出
输出满足条件的m、n,并且使m2+n2的值最大。
样例输入
1995
样例输出
m=987
n=1597
分析 咋一看好像很麻烦的, 开动机智的小脑袋瓜就可以想出来啦hhhh
咳咳 其实是对条件中的公式进行变形
(n^2 -n*m-m^2)^2=1
( m^2+n*m-n^2 )^2 =1
( m^2+n*m-n^2 )= m^2+2*n*m+n^2-m*n-2*n^2;
( m^2+n*m-n^2 )=(m+n)^2-m*n-2*n^2;
综上 可推出
(n^2 -n*m-m^2)^2=((m+n)^2-(m+n)*n-n^2)^2
即