(百例编程)29.求具有abcd=(ab+cd)平方的性质数

题目: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;
}


你可能感兴趣的:((百例编程)29.求具有abcd=(ab+cd)平方的性质数)