程序为何for(c=31;c*c
程序为何for(c=31;c*c<k;c++);//去掉;不出结果?
------解决方案--------------------
不知道上面几位说的什么。最后一个循环里是c *c <k ,而i f 语句又是c *c==k ,当然无解了。如果只要求四位数内解,只需要c *c <10000就行了。
- 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就行了。