读书人

判断一个数是否质数 - 用递归实现

发布时间: 2012-09-29 10:30:01 作者: rapoo

判断一个数是不是质数 - 用递归实现
那位哥帮忙我做出来一下呀?
一题面试题:用递归判断一个数是不是质数?
小弟实在想不出来!请教……


[解决办法]

完善了一点

Java code
public class Recursion {    /*     * 用递归判断一个数是不是质数?     */    static int numberO;    static boolean flag = true;    public static void main(String[] args) {        if (isPrimeNumber(-1) > 0)            System.out.println(numberO + " 是质数");        else            System.out.println(numberO + " 是非质数");    }    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;    }}
[解决办法]

更加完善的递归调用了


Java code
public class Recursion {    /*     * 用递归判断一个数是不是质数?     */    static int numberO;    static boolean flag = true;    public static void main(String[] args) {        for (int i = 0; i < 100; i++) {            if (isPrimeNumber(i) > 0)                System.out.println(numberO + " 是质数");            else                System.out.println(numberO + " 是非质数");            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;    }} 

读书人网 >J2SE开发

热点推荐