求同构数。
【问题描述】
设b是a的平方,若a与b的尾部相同,则称a是同构数。例如,25的平方是625,所以25是同构数。
编写程序满足如下要求:
输入两个整数m和n,找出m、n之间全部的同构数(包括m和n本身)。
【输入形式】
输入数据范围的下限m和上限n,要求m和n都为整数,m和n之间用一个空格分隔。
【输出形式】
按照由小到大的顺序输出所有同构数,每个整数占一行。若在该范围内没有同构数,则输出字符串No Answer。
【样例输入1】
0 30
【样例输出1】
0
1
5
6
25
【样例说明1】
在0~30之间的同构数有0, 1, 5, 6, 25。
【样例输入2】
100 200
【样例输出2】
No Answer
【样例说明2】
在100~200之间,因为没有同构数,所以输出No Answer。
输出结束需要换行。
#include<stdio.h>
int main()
{
    int i,j,k,m,n,flag=0;
    k=10;
    scanf("%d%d",&m,&n);
    for(i=m;i<=n;i++)
    {
        if(i==k)
            k=k*10;
        j=i*i;
        if(j%k==i)
            {
            printf("%d\n",i);
            flag++;
            }
    }
    if(flag==0)
        printf("No Answer\n");
    return 0;
}
 
版权声明:本文为baiseyema原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。