一个求勾股数的问题
输入一个正整数n,输出它后面的4个(包括n)的勾股数,假如n*n=a*a+b*b,那么n就是一个勾股数,例如输入150,输出150,153,155,156;我的程序如下
#include<stdio.h>
int main()
{
int count=0,a,b,c,d;
scanf("%d",&c);
for(c;c>0;c++)
{
for(a=0;a<c;a++)
{
for(b=0;b<a;b++)
{
if(c*c==a*a+b*b)
{
count++;
printf("NO%d=%d\n",count,c);
if(count==4)
{
return 0;
}
}
}
}
}
}
我这个程序正常输入是可以算出来的,但是输入50就是输出50,50,51,52 输入100输出100,100,101,102 输入150输出150,150,153,155.类似这种50倍数字就是有一个重复的出来,其他都是正常的,是不是因为这些勾股数有两种平方方法算出来,应该怎么改程序