JAVA编程基础练习:兔子问题、素数判断与水仙花数

需积分: 45 6 下载量 3 浏览量 更新于2024-07-22 2 收藏 114KB DOC 举报
"这些Java练习题旨在帮助初级开发者巩固基础,涵盖了斐波那契数列、素数判断和水仙花数等经典编程问题。" 在这些Java练习题中,我们可以学习到以下重要的编程概念和技术: 1. **斐波那契数列**:程序1是一个典型的斐波那契数列问题。斐波那契数列是这样一个数列:0、1、1、2、3、5、8、13...,后面的每一个数都是前面两个数的和。在这个问题中,兔子数量的增加遵循了斐波那契数列的规则。代码通过for循环计算每个数,并将结果输出。这展示了基础的循环结构和变量更新技巧。 ```java int f1 = 1, f2 = 1, f; for (int i = 3; i <= M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println("第" + i + "个月的兔子对数:" + f2); } ``` 2. **素数判断**:程序2的任务是找出101到200之间的所有素数。素数是大于1且只能被1和自身整除的自然数。代码通过一个嵌套循环实现,外层循环遍历101到200,内层循环检查当前数是否能被2到其平方根之间的任何数整除。如果是,就不是素数,跳出循环;否则,标记为素数并累加计数。 ```java for (int i = 101; i < 200; i += 2) { boolean b = false; for (int j = 2; j <= Math.sqrt(i); j++) { if (i % j == 0) {b = false; break;} else {b = true;} } if (b == true) {count++; System.out.println(i);} } ``` 3. **水仙花数**:程序3涉及到了三位数的逻辑处理。水仙花数是一个三位数,其每一位数字的立方和等于该数本身。代码通过循环遍历101到999,提取每位数字,然后计算它们的立方和,如果相等,则输出该数。 ```java for (int m = 101; m < 1000; m++) { b3 = m / 100; b2 = m % 100 / 10; b1 = m % 10; if ((b3 * b3 * b3 + b2 * b2 * b2 + b1 * b1 * b1) == m) { System.out.println(m + "是一个水仙花数"); } } ``` 这些练习题对于初学者来说非常有益,能够帮助他们理解和运用基本的算法,如循环、条件判断以及数学运算在编程中的应用。同时,它们也锻炼了代码逻辑构建和调试能力。通过解决这些问题,开发者可以提升自己的编程技能,为进一步学习更复杂的编程概念打下坚实的基础。