用递归判断一个数是不是质数!
那位大哥知道怎么写呀?

解决方案 »

  1.   

    楼主分数倒是不少
    public boolean  isZhishu(int x,int a)
    {
    if (a < x) {
         if (x % a == 0)
            return false;
         else
            return isZhishu(x,a+1);}
    else
         return true;}
    运行isZhishu(x,2);既可以得到最终结果
      

  2.   

    建议把2楼代码改一下:a < x/2 即可。这样改过,速度快多了。
    public boolean isZhishu(int x, int a)
    {
    if (a < x/2)
    {
    if (x % a == 0)
    return false;
    else
    return isZhishu(x, a + 1); }
    else
    return true; }
      

  3.   

    public class Recursion {
    /*
     * 用递归判断一个数是不是质数?
     */
    static int numberO;
    static boolean flag = true; public static void main(String[] args) {
    for (int i = -100; i < 100; i++) {
    if (isPrimeNumber(i) > 0)
    System.out.println(i + " 是质数");
    else
    System.out.println(i + " 是非质数");
    flag = true;
    }
    } private static int isPrimeNumber(int number) {
    if (flag) {
    number = numberO = Math.abs(number);
    flag = false;
    if (numberO < 2)
    return -1;
    }
    if (number > 2 && (numberO % (--number)) == 0)
    return -1;
    else
    return number > 2 ? isPrimeNumber(number) : 1;
    }
    }
      

  4.   

    else return true????????????
      

  5.   

    for(int i =1;i<100;i++){
      for(int j=2;j<i;j++){
            if(i%j==0){
                break
             }
       }
       if(i==j){
       system.out.println("质数是"+i)
    }