勾股数

/*
勾股数的规律
在一组勾股数中,
当最小边是奇数时,他的平方是另外两个连续正整数的和
当最小边是偶数时,他的平方是两个连续奇数或偶数的和的两倍
3
(9-1)/2=4
(9+1)/2=5

6
(36/2-2)/2=8
(36/2+2)/2=10
*/

#include 
#include 
#include 
#define ll long long
using namespace std;
int main(){
    ll n;
    cin>>n;
    if(n<3){
        puts("-1\n");
    }else{
        ll a,b;
        if(n%2){//奇数
            a=(n*n-1)/2;
            b=(n*n+1)/2;
        }else{
            b=(n*n/2-2)/2;
            c=(n*n/2+2)/2;
        }
        printf("%lld %lld\n",a,b);
    }
    
    return 0;
}

你可能感兴趣的:(勾股数)