程序为何for(c=31;c*c

程序为何for(c=31;c*c<k;c++);//去掉;不出结果?
C/C++ code

#include<stdio.h>
#include<math.h>
int main()
{
     int i,j,k,c;
     for(i=1;i<=9;i++) 
     for(j=0;j<=9;j++) 
     if(i!=j) /*判断二位数字是否相异*/
     {
         k=i*1000+i*100+j*10+j; /*计算出可能的整数*/
         for(c=31;c*c<k;c++); /*判断该数是否为另一整数的平方*/
         if(c*c==k)
         {
               printf("c=%d\n",c);
               printf("Lorry–No. is %d.\n",k); 
          }
      }
}



------解决方案--------------------
不知道上面几位说的什么。最后一个循环里是c *c <k ,而i f 语句又是c *c==k ,当然无解了。如果只要求四位数内解,只需要c *c <10000就行了。