同构数-c语言入门(5)

  • Post author:
  • Post category:其他




找出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 版权协议,转载请附上原文出处链接和本声明。