7-5 倒立勾股数 (100 分)

#include<stdio.h>
//from yzj
int main()
{

	int m, n;
	int count = 0;

	scanf("%d %d", &m, &n);

	for (int i = m; i <= n - 2; i++)
	{
		for (int j = i; j <= n - 1; j++)
		{
			for (int q = j; q <= n; q++)
			{
				long long max = q * q;
				long long mid = j * j;
				long long min = i * i;
				if (min * (mid + max) == mid * max)
				{
					count++;
				}
			}
		}
	}
	
	printf("%d", count);

	return 0;
}

一组正整数 x , y , z,如果满足:

x21​+y21​=z21​

我们则称x , y , z为一组倒立勾股数。你的任务是写一段程序计算出在某个范围内共有多少组倒立勾股数。

输入格式:

只有一行,为两个用空格分隔的正整数,依次为m,n(0<m<n<=1000)。

输出格式:

只有一个整数,代表m和n之间倒立勾股数的组数。

提示:

1、要x,y和z均满足大于等于m且小于等于n才计数。

2、15 20 12 与 20 15 12 是一组,不能算成2组。

3、虽然m,n均小于1001,但要考虑运算过程中整数是否溢出。

输入样例:

1 60

输出样例:

3
上一篇:mybatis plus代码生成器(新)的使用


下一篇:[atARC134E]Modulo Nim