所谓自守数(也称守形数),是指其平方数的低位部分恰为该数本身的自然数。例如:252=625,因此25是自守数。(注:0 和 1 也算自守数。)
请编写程序,输出指定范围内的所有自守数。若指定范围内不存在自守数,则输出None。
输入格式
正整数 a 和 b, 且 a≤b≤10000
输出格式
若 [a,b] 内存在自守数,则按由小到大的顺序输出,每行输出一个自守数;若不存在自守数,则输出None。
输入样例1
10 80
输出样例1
25
76
输入样例2
400 600
输出样例2
None
代码如下:
#include<stdio.h>
int main()
{
int a,b,i,p,c=0;
scanf("%d %d",&a,&b);
if(a>=0&&a<=b&&10000)
{
for(i=a;i<=b;i++)
{
p=i*i;
if(p%10==i||p%100==i||p%1000==i||p%10000==i)
{
printf("%d\n",i);
c++;
}
}
if(c==0)
printf("None");
}
}
自己小白一枚,编写的些许不完美,欢迎大家来提建议。