关于勾股定理,知一边求另外两边
给定一边 长为n:
n % 2 == 1 :另外两边 (n*n-1) / 2 和 (n*n+1) / 2 ;
n % 2 == 0 :另外两边 (n/2 * n/2 - 1) 和 ( n/2 * n/2 + 1) ;
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int maxn = 1000000 + 10;
LL a[maxn];
LL n;
void solve()
{
if(n < 3) { printf("-1"); return;}
if(n % 2)
{
printf("%lld %lld", ((n*n)-1)/2, ((n*n)+1)/2);
}
else
{
n /= 2;
printf("%lld %lld", n*n-1, n*n+1);
}
}
int main()
{
scanf("%lld", &n);
solve();
return 0;
}