例 5=1*1+2*2;
首先解决问题需要用到循环,可以双重循环 ,找到 a, b ,aa+bb=x 返回
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int a,b,i=0;
for(a=0;a<=n;a++)
{
for(b=0;b<=n;b++)
{
if((a*a+b*b)==n&&a<b)
{
cout<<a<<"和"<<b<<endl;
}
i++;
}
}
cout<<i<<endl;
}
还可以是单重循环
```cpp
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int n;
cin>>n;
int i,j=0;
for(i=0;i<=sqrt(n);i++)
{
double t=sqrt(n-i*i);
if(t-(int)t==0)
cout<<i<<"和"<<t<<endl;
j++;
}
cout<<j;
}