2531 - 【数组】七位完全平方数(sevensqr)

1267*1267=1605289,表明等式右边是一个七位的完全平方数,而这七个数字互不相同。编程求出所有这样的七位数。

题目输入

无输入。

题目输出

所有符合题意的七位完全平方数,从小到大输出,十个数一行。

输入/输出样例

题目输入


                

题目输出


                

提示

提示:七个数字互不相同,如何利用数组来检查

C++解答

#include<cstdio>
#include<iostream>
using namespace std;
int main()
{
	int i,j,n,t=0;
	int a[10]={0};
	for (i=1000;i<=3162;++i)
	{
		n=i*i;
		if (n>1000000&&n<10000000) {
			for (j=0;j<10;j++) a[j]=0;
			do
			{
				j=n%10;
				n=n/10;
				a[j]++;
			}
			while (n>0);
			for (j=0;j<10;++j) 
				if (a[j]>1) break;
			if (j==10) {
				t++;
				if (t %10==0) cout<<" "<<i*i<<endl;
					else if (t %10==1) cout<<i*i;
						    else cout<<" "<<i*i;
			}
		}
	}
	cout<<endl;
	return 0;    
}

提示

提示:七个数字互不相同,如何利用数组来检查

时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题