设整数 m 和 n 在给定闭区间 [a,b] 内,且满足等式 (n2−mn−m2)2=1。请你求出 m2+n2 的最大值。
输入格式:
输入给出两个正整数 a 和 b(1<a<b≤3×104),为闭区间的两个端点。
输出格式:
在一行中按照以下格式输出:
max( m^2 + n^2 ) = s
其中 s
是题面要求的 m2+n2 的最大值,m
和 n
分别对应能取到最大值的 m 和 n 的值。
输入样例:
10 100
输出样例:
max( 55^2 + 89^2 ) = 10946
PAT(乙级)2022年冬季考试_星河欲转。的博客-CSDN博客
//解析请看以上链接
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b,i,j,k=0,x,y;
cin>>a>>b;
for(i=b;i>=a;i--){
for(j=b;j>=a;j--){
if((i*i-i*j-j*j)*(i*i-i*j-j*j)==1){k=1;x=i,y=j;break;}
}
if(k==1)break;
}
printf("max( %d^2 + %d^2 ) = %d",y,x,x*x+y*y);
return 0;
}