求同构数。
【问题描述】
设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;
}