#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