求java大神,用while 循环 解题过程及思路,给加分!

求解题思路和过程!自守数是其平方后尾数等于该数自身的自然数。例如:25*25=62576*76=5776找出1-10000之间所有的自守数并输出。... 求解题思路和过程!
自守数是其平方后尾数等于该数自身的自然数。例如:
   25*25=625
76*76=5776
找出1-10000之间所有的自守数并输出。
展开
 我来答
J001先生
2015-07-05 · TA获得超过142个赞
知道小有建树答主
回答量:96
采纳率:83%
帮助的人:74.9万
展开全部

我写的代码,你可以参考和学习下:

	/**
 * 求自守数,自守数是其平方后尾数等于该数自身的自然数。
      * 例如: 25*25=625 76*76=5776
     * 找出1-10000之间所有的自守数并输出。
 * @param num
 */
public static void getAllSelfNum(int num) {
int i=1;
while (i<=num) {
String s=i+"";
// 提高效率,仅处理尾数为0,1,5,6的数字   0*0=0,1*1=1,5*5=25,6*6=36
if (s.endsWith("0")||s.endsWith("1")||s.endsWith("5")||s.endsWith("6")) {
String squareStr=(i*i)+"";
if (squareStr.endsWith(s)) {
System.out.println("Self Number: "+i);
}
}
i++;
}
}

调用:getAllSelfNum(10000);


输出结果:

Self Number: 1

Self Number: 5

Self Number: 6

Self Number: 25

Self Number: 76

Self Number: 376

Self Number: 625

Self Number: 9376

追问
能用while循环做吗?我还是会给你加分的!望解答!
追答
我更改过了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式