pta题库-求1~1000内的同构数-[c语言]

pta题库7-7 同构数 (10 分)

一个数恰好出现在它的平方数的右端,这个数就称为同构数。找出1~1000之间的全部同构数。

输出格式:

在一行中输出所有满足条件的同构数,每个数输出占6列。没有其它任何附加格式和字符。

输出样例:

 1     5     6    25    76   376   625
#include
int solute(int a)
{
	int pingfang = a * a;//存平方

	//算其本身的位数
	int pingfw = a, count = 0;
	while (pingfw)
	{
		count++;
		pingfw /= 10;
	}
	//开始查找是否符合重构数
	switch (count)
	{
	case 1:if (pingfang%10==a||a==1)return 1;
	case 2:if (pingfang%100==a)return 1;
	case 3:if (pingfang%1000==a)return 1;
	default:return 0;
	}
}
int main()
{
	int a[1000]={0};
	for (int i = 0; i <999; i++)
	{
		a[i] = i + 1;
		if (solute(a[i]))printf("%6d", a[i]);

	}
	return 0;
}

大佬尽情在评论区补充,谢谢!
求1~10000内的同构数只需要小改一下就辣!

你可能感兴趣的:(pta题库-求1~1000内的同构数-[c语言])