"Java面试题集及指数计算和素数判断程序"

需积分: 0 1 下载量 165 浏览量 更新于2024-01-26 收藏 41KB DOCX 举报
本文主要介绍了两个关于Java编程的问题,一个是关于兔子的繁殖问题,另一个是关于判断素数的问题。 首先,对于兔子的繁殖问题,题目要求计算每个月的兔子对数。题目给出的是兔子的繁殖规律:从出生后第3个月起,每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子。假设兔子不死,我们需要计算每个月的兔子对数。 这个问题可以用递归的方法来解决,定义一个函数fun,参数为月份n,函数返回第n个月的兔子对数。根据题目给出的规律,我们可以得出递推关系:第n个月的兔子对数等于第n-1个月的兔子对数加上第n-2个月的兔子对数。特殊情况是当n为1或2时,返回1。具体的代码实现如下: public class Prog1{public static void main(String[]args){int n = 10;System.out.println("第" + n + "个月兔子总数为" + fun(n));}private static int fun(int n){if(n==1 || n==2)return 1;else return fun(n-1) + fun(n-2);}} 接下来是关于判断素数的问题,题目要求判断101-200之间有多少个素数,并输出所有素数。判断素数的方法是:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 我们可以编写一个循环,从101到200,逐个判断每个数是否为素数。具体的代码实现如下: public class Prog2{public static void main(String[]args){int m = 101;int n = 200;int count = 0;for(int i=m;i<=n;i++){boolean isPrime = true;for(int j=2;j<=Math.sqrt(i);j++){if(i%j == 0){isPrime = false;break;}}if(isPrime){count++;System.out.println(i);}}System.out.println("101-200之间共有" + count + "个素数");}} 通过以上的代码实现,我们可以得到101-200之间所有的素数,并且统计了素数的个数。 以上就是本文对于给定的两个问题的解答总结。第一个问题是关于兔子繁殖的问题,通过递归的方式计算每个月的兔子对数。第二个问题是关于判断素数的问题,采用了一个循环来判断101-200之间的数是否为素数,并输出所有素数。通过这两个问题的解答,我们可以进一步加深对于Java编程的理解和应用能力。