题目:
题意:
a^n+b^n=c^n,给出a,n,求出一组b,c;
分析:
根据费马大定理,n>2的所有情况可以排除,n=0无结果,n=1随便写,剩下的就是n=2,利用勾股数的性质就可以写出;
代码:
#include<stdio.h> using namespace std; int main() { int t,a,n,b,c; scanf("%d",&t); while(t--) { scanf("%d %d",&n,&a); if(n>2||n==0) { printf("-1 -1\n"); continue; } else if(n==1) printf("1 %d\n",1+a); else { if(a%2==1) { a=(a-1)/2; b=2*a*a+2*a; c=b+1; } else { if(a==4) { b=3; c=5; } else { a=a/2; b=a*a-1; c=b+2; } } printf("%d %d\n",b,c); } } return 0; }