"JAVA编程题全集(50题及答案),包括兔子数量和素数判断"
需积分: 9 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之间的素数个数。
通过以上两道题的分析,我们可以看到,编程题不仅需要灵活运用语法和数据结构,还需要具备一定的数学思维能力和逻辑思维能力。通过解决编程题,我们可以提高自己的编程能力和解决问题的能力。希望大家能够多多练习,不断提升自己的编程水平。
2021-10-08 上传
2021-09-06 上传
2021-10-07 上传
2021-10-07 上传
2021-11-13 上传
zj_cug
- 粉丝: 0
- 资源: 1