记f(n,m)=(n^2-mn-m^2)^2
则有f(m+n,m)=[(m+n)^2-n(m+n)-n^2]^2=(m^2+mn-n^2)^2=(n^2-mn-m^2)^2=f(n,m)
易得f(1,1)=1
故1=f(1,1)=f(2,1)=f(3,2)=…
发现m,n是Fibonacci数列相邻的两项,那么问题就极易解答了
#include<cstdio>
#include<iostream>
#include<cmath>
#include<cstring>
using namespace std;
int n;
int main()
{
scanf("%d",&n);
for(int i=n;i>=1;i--)
for(int j=n;j>=1;j--)
{
if(i*i-i*j-j*j==1)
{printf("%d %d",i,j);
return 0;
}
}
}