老师的要求是:使用JAVA语言编程输出100到999的所有回文素数。
落实到实际编写上,意思也就是找出100-1000以内的所有回文素数并显示到屏幕上。
先上代码:
public class test{
public static void main(String[] args) {
for(int i=100;i<1000;i++){
if(i/100==i%10){
int k = (int)Math.sqrt(i);
for(int j=2;j<=k+1;j++){
if(i%j==0){
break;
}
if(j>k){
System.out.println(i);
}
}
}else{
continue;
}
}
}
}
然后是运行结果:
最后我来简单解释一下:
三位的回文数的特征就是百位数与个位数相等,素数就是只能被1和自己整除。
那种让一个数挨个除以2到自己-1的方法太笨,消耗资源。
这里用的是用这个数字除以2到这个数的开方。具体原理可以去网上搜一下。
下面是这个作业的流程图:
我是个Java初学者。如有问题还请各位大佬指正。