首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

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

2012-09-29 
判断一个数是不是质数 - 用递归实现那位哥帮忙我做出来一下呀?一题面试题:用递归判断一个数是不是质数?小

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


[解决办法]

完善了一点

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;    }} 

热点排行