题目:3025这个数具有一种独特的性质:将它平分为二段,即30和25,使之相加后求平方,即(30+25)2,恰好等于3025本身。请求出具有这样性质的全部四位数。具有这种性质的四位数没有分布规律,可以采用穷举法,对所有四位数进行判断,从而筛选出符合这种性质的四位数。
/*题目:3025这个数具有一种独特的性质:将它平分为二段,即30和25,使之相加后求平方,
即(30+25)2,恰好等于3025本身。请求出具有这样性质的全部四位数。具有这种性质
的四位数没有分布规律,可以采用穷举法,对所有四位数进行判断,从而筛选出符合这
种性质的四位数
*/
#include <iostream>
using namespace std;
int main(void)
{
int a[2],b[2],s=0;
for (int n=1000;n!=10000;++n)
{
for (int i=0,k=1;i!=2;++i,k*=10)
{
a[i]=n/k%10;
}
for (int j=0,k=100;j!=2;++j,k*=10)
{
b[j]=n/k%10;
}
for (int q=0,k=1;q!=2;++q,k*=10)
{
s+=a[q]*k+b[q]*k;
}
if (s*s==n)
{
cout<<n<<endl;
}
s=0;
}
return 0;
}