这个题目做了好多次运行总是不对,哪位大佬来帮我解答一下,感谢,这是c语言的题目?

2025-01-04 15:56:14
推荐回答(3个)
回答1:

#include

 main()

 {

int n,m;

scanf("%d%d",&n,&m);

for(int i=n;i<=m;i++)

{

if(i<10&&i*i%10==i)

printf("%d\n",i);

if(i>=10&&i<100&&i*i%100==i)

printf("%d\n",i);

if(i>=100&&i<1000&&i*i%1000==i)

printf("%d\n",i);

}

}

回答2:

#include
#include
int main()
{
int m,n,i,x,t=0;
scanf("%d%d",&m,&n);
for(i=m; i<=n; i++)
{
x=i;
while(x)
{
x/=10;
t++;
}
if(i==i*i%(int)pow(10,t))
printf("%d\n",i);
t=0;
}
return 0;
}

回答3:

#include

void main()

{

int m,n,i,j,p=10;

scanf("%d%d",&m,&n);

for(i=m;i<=n;i++)

{     p=10;

j=i;

while(j/10)

{p=p*10;

j=j/10;}

if(i==(i*i)%p)

  {printf("%d\n",i);

}

}

}