找出2~999之间所有的的同构数
首先解释一下同构数,同构数是指自己本身与自己的平方右侧的数一样。例如6的平方36,6和36的最右侧一位6一样,所以6是同构数;再例如25的平方625,25与625的右侧25一样,所以25也是同构数。
我们只需要把每一个数的与他平方的右侧比较一下即可。由于只需求出2~999之间的同构数,那么平方后的数的右侧最多只需确定三位,最少确定一位。
代码如下:
#include<stdio.h>
int main()
{
int x, S, a, b;
scanf("%d%d", &a, &b);
for (x = a; x <= b; x++)
{
S = x * x;
if (S % 1000 == x)
printf("%d\n", x);
else
if (S % 100 == x)
printf("%d\n", x);
else
if (S % 10 == x)
printf("%d\n", x);
}
return 0;
}
输入2 999,输出结果如下:
版权声明:本文为qq_45160840原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。