勾股数两种类型

第一类型

当a为大于1的奇数2n+1时,b=2n²+2n, c=2n²+2n+1。

第二类型

当a为大于4的偶数2n时,b=n²-1, c=n²+1。

例题

牛客练习赛51 C

code:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
	ll n;
	scanf("%lld", &n);
	if(n & 1 && n > 1){
		n--;
		n /= 2;
		ll b = 2 * n * n + 2 * n;
		ll c = b + 1;
		printf("%lld %lld\n", b, c);
	}
	else if(n % 2 == 0 && n >= 4){
		n /= 2;
		ll b = n * n - 1;
		ll c = n * n + 1;
		printf("%lld %lld\n", b, c);
	}
	else puts("-1");
	return 0;
}

 

posted @ 2019-09-07 10:17  correct  阅读(242)  评论(0)    收藏  举报