"JAVA编程题全集(50题及答案),包括兔子数量和素数判断"

需积分: 9 0 下载量 140 浏览量 更新于2024-01-31 收藏 188KB DOC 举报
最新JAVA编程题全集(50题及答案) 这个编程题集包含了50道JAVA编程题,并且给出了每道题的答案。本文将对其中的两道题进行详细分析,第一道题是关于兔子繁殖问题的,第二道题是判断素数的问题。 【程序 1】 题目描述:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 这是一个菲波拉契数列问题。菲波拉契数列的特点是,从第3个数字开始,每个数字都是前两个数字之和。为了解决这个问题,我们可以使用两个变量f1和f2来表示当前月份和上个月份的兔子对数。初始情况下,f1和f2都为1,然后我们使用一个循环来计算每个月的兔子对数,并将结果打印出来。 程序代码如下: public class lianxi01 { public static void main(String[] args) { System.out.println("第1个月的兔子对数: 1"); System.out.println("第2个月的兔子对数: 1"); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println("第" + i + "个月的兔子对数: " + f2); } } 在上述代码中,M表示我们要计算的月份数量,这里是24个月。在循环中,我们通过f1和f2的交替更新和计算,得到了每个月的兔子对数。 【程序 2】 题目描述:判断101-200之间有多少个素数,并输出所有素数。 判断一个数是否为素数的方法是从2到sqrt(这个数)去除该数,如果能被整除,则表明该数不是素数。为了解决这个问题,我们可以使用一个循环来遍历101到200之间的每个数,然后判断其是否为素数。 程序代码如下: public class lianxi02 { public static void main(String[] args) { int count = 0; for(int i=101; i<=200; i++) { boolean flag = true; for(int j=2; j<=Math.sqrt(i); j++) { if(i%j == 0) { flag = false; break; } } if(flag) { count++; System.out.println(i); } } System.out.println("101-200之间的素数个数为:" + count); } } 在上述代码中,我们使用一个外层循环遍历101到200之间的每个数,然后使用一个内层循环从2到sqrt(这个数)去除该数,并判断是否能被整除。如果不能被整除,则表明该数是素数,将其打印出来,并且计数器加一。最后输出101-200之间的素数个数。 通过以上两道题的分析,我们可以看到,编程题不仅需要灵活运用语法和数据结构,还需要具备一定的数学思维能力和逻辑思维能力。通过解决编程题,我们可以提高自己的编程能力和解决问题的能力。希望大家能够多多练习,不断提升自己的编程水平。