在3位整数100~999中查找符合如下条件的整数:这个数既是完全平方数,又有两位数字相同,如121(11的平方)、144(12的平方)等。
对探测到的100~999之间的数首先要判断它是不是完全平方数,如果是完全平方数再分离出其百位、十位、个位上的数字,再用if条件判断语句判断分离出的3个数中是否有两个数相同。如果有两个数相同则输出该数字,否则继续下次循环。
void main()
{
int i, j;
int hun, ten, data; /定义变量存储分解出的百位、十位、个位 /
printf("结果是:\n");
for (i = 100; i <= 999; i++)
{
j = 10;
while (j * j <= i)
{
if (i == j * j)
{
hun = i / 100; /分解出百位上的数 /
data = i - hun * 100;
ten = data / 10; /分解出十位上的数 /
data = data - ten * 10; /分解出个位上的数 /
if (hun == ten || hun == data || ten == data) /判断分解出的3个数中是否有两
个数是相等的 /
printf("%5d", i); /将符合条件的数输出 /
}
j++;
}
}
printf("\n");
}