| Problem Description people in USSS love math very much, and there is a famous math problem .
give you two integers n ,a ,you are required to find 2 integers b ,c such that an +bn=cn . ? ? Input one line contains one integer T ;(1≤T≤1000000)
next T lines contains two integers n ,a ;(0≤n≤1000 ,000 ,000,3≤a≤40000) ? ? Output print two integers b ,c if b ,c exits;(1≤b,c≤1000 ,000 ,000) ;
else print two integers -1 -1 instead. ? ? Sample Input
? 1 2 3 ? ? Sample Output
? 4 5 ? ? 費(fèi)馬大定理在加上勾股數(shù)的一些規(guī)律: 費(fèi)馬大定理: a^n+b^n=c^n在n>2時(shí)是不成立的。 勾股數(shù)規(guī)律: https://wenku.baidu.com/view/8282f1b669eae009591bec85.html ? ? #include <iostream> using namespace std; int main() ? ? ? { ?? ?int T; ?? ?scanf("%d",&T); ?? ?int n,a,b,c; ?? ?while(T--) ?? ?{ ?? ??? ?scanf("%d %d",&n,&a); ?? ??? ?if(n>2||n==0) ?? ??? ?{ ?? ??? ??? ?printf("-1 -1\n"); ?? ??? ??? ?continue; ?? ??? ?} ?? ??? ?else if(n==1) ?? ??? ?{ ?? ??? ??? ?printf("%d %d\n",1,a+1); ?? ??? ??? ?continue; ?? ??? ?} ?? ??? ?else ?? ??? ?{ ?? ??? ??? ?if(a%2==0) ? ? ? ? ?//a為偶數(shù)的時(shí)候 ?? ??? ??? ?{ ?? ??? ??? ??? ?int temp=(a-2)/2; ?? ??? ??? ??? ?printf("%d %d\n",temp*temp+2*temp,temp*temp+2*temp+2);? ?? ??? ??? ??? ?continue; ?? ??? ??? ?}? ?? ??? ??? ?else ?? ??? ??? ?{ ?? ??? ??? ??? ?int temp=(a-1)/2; ?? ??? ??? ??? ?printf("%d %d\n",2*temp*temp+2*temp,2*temp*temp+2*temp+1); ?? ??? ??? ??? ?continue; ?? ??? ??? ?} ?? ??? ?} ?? ?}?? ??? ??? ??? ? ?? ?return 0;?? ? }? ? |