求出方程所有可能的解
题目:c*c==a*a+b*b 输入n值(c<=n),求满足方程的解的个数。输入格式:
一个整数n, n <= 5000。
输出格式:
一个整数
Hint:对于输入n=5,有 a=3, b=4, c=5, 共一种。
输入样例:
5
输出样例:
1
下面是我编写的程序,不知道为什么不正确,不能解决这个问题。
d表示方案个数
程序代码:#include<stdio.h>
int main()
{
int a,b,c,d,n;
scanf("%d",&n);
a=1;d=0;
for(c=1;c<=n;c++)
{
for(b=1;b<n;b++)
{
a=1;
while((c*c<=a*a+b*b)&&(c>a))
{
if(c*c==a*a+b*b)d=d+1;
else a=a+1;
}}
}
printf("%d\n",d);
return 0;
}







