百练2929回文的素数

来源:互联网 发布:淘宝ipad客户端下载 编辑:程序博客网 时间:2024/05/30 02:22

发现百练上用Java刷算法题的人很少,有时候遇到问题真是一头雾水,先做着看看吧

package poj_online;import java.util.Scanner;public class Sushu {public static void main(String args[]){Scanner scan=new Scanner(System.in);int n=scan.nextInt();int num=0;for(int i=11;i<=n;i++){if(myFunction1(i)&&myFunction2(i)){num++;}}System.out.println(num);}//判断是否是回文public static boolean myFunction1(int n){int num=n;int temp=0;while(n>0){temp=temp*10+(n%10);n=n/10;}return num==temp;}//判断是否是素数public static boolean myFunction2(int n){boolean flag=true;for(int i=2;i*i<=n;i++){if(n%i==0){flag=false;break;}}return flag;}}/*public class Sushu{public static void main(String args[]){Scanner scan=new Scanner(System.in);int n=scan.nextInt();boolean flag=true;for(int i=2;i*i<=n;i++){if(n%i==0){flag=false;System.out.println(i);break;}}System.out.println(flag);}}*/

刚开始一直wrong answer,是在判断回文那个地方发生了错误,

/* * while(n>10){temp=temp+(n%10);n=n/10;temp*=10;}temp+=n; * */

这是我初始时用的代码,对于其他数据都没有影响,但是对于101,因为/10之后刚好等于10,就会跳出循环,导致错误出现。

原创粉丝点击