link:http://codeforces.com/contest/707/problem/C
题意:给出直角三角形的其中一条边,输出另外两条边(任意方案,边都是整数)
解法:
构造完全平方不等式。
若k为偶数输出(k/2)^2-1和(k/2)^2+1
若为奇数
输出2*(n^2)+2*n和2*(n^2)+2*n+1
#include<bits/stdc++.h>
using namespace std;
int main()
{
__int64 k,n;
cin>>k;
if(k%2==0)
{
n=k/2;
if(n<2)cout<<"-1";
else
{
cout<<n*n-1<<" "<<n*n+1<<endl;
}
}
else
{
n=k/2;
if(n<=0)cout<<"-1";
else cout<<2*n*n+2*n<<" "<<2*n*n+2*n+1;
}
return 0;
}