D - Find Integer

Posted liulex

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了D - Find Integer相关的知识,希望对你有一定的参考价值。

 

D - Find Integer

$a^n+b^n=c^n$

给定a,n求解$b,c$

 三次以上没有整数解

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll A[500005];
ll n,a;
int main()

    int T;
    scanf("%d",&T);
    while(T--)
    
        scanf("%lld%lld",&n,&a);

        if(n>=3)
        
            puts("-1 -1");
        
        else if(n==1)
        
            cout<<1<< <<a+1<<\n;
        
        else if(n==0)
        
            cout<<-1<< <<-1<<\n;
        
        else
        
            ll b,c,x,y;
            for(ll i=1; i<a; i++)
            
                if((a*a)%i==0)
                
                    x=(a*a)/i;
                    y=i;
                   // cout<<(x+y)<<" "<<a<<endl;
                    if((x+y)%2==0&&(x+y)!=(2*a))break;
                
            
            c=(x+y)/2;
            b=sqrt(c*c-a*a);
            cout<<b<< <<c<<\n;
        
    

 

以上是关于D - Find Integer的主要内容,如果未能解决你的问题,请参考以下文章

包装类

Java常用类

Integer引用类型问题

整数缓冲区

Integer整数缓冲区

javaSE21/9/13