求java大神,用while 循环 解题过程及思路,给加分!
求解题思路和过程!自守数是其平方后尾数等于该数自身的自然数。例如:25*25=62576*76=5776找出1-10000之间所有的自守数并输出。...
求解题思路和过程!
自守数是其平方后尾数等于该数自身的自然数。例如:
25*25=625
76*76=5776
找出1-10000之间所有的自守数并输出。 展开
自守数是其平方后尾数等于该数自身的自然数。例如:
25*25=625
76*76=5776
找出1-10000之间所有的自守数并输出。 展开
1个回答
展开全部
我写的代码,你可以参考和学习下:
/**
* 求自守数,自守数是其平方后尾数等于该数自身的自然数。
* 例如: 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循环做吗?我还是会给你加分的!望解答!
追答
我更改过了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询