Java算法实践:斐波那契数列与质数判断

4星 · 超过85%的资源 需积分: 10 2 下载量 125 浏览量 更新于2024-09-13 收藏 32KB TXT 举报
本文主要介绍了三个Java编程题目,涵盖了斐波那契数列、质数判断和水仙花数的实现。 第一个Java程序是计算斐波那契数列的前20项。斐波那契数列是一个序列,其中每个数字是前两个数字的和,起始于0和1。在这个例子中,程序定义了两种方法来实现斐波那契数列:一种是在主类`exp2`中直接计算,另一种是将计算逻辑封装到一个单独的`math`类中。两种方法都使用递归的方式,如果输入值为1或2,直接返回1,否则返回前两个斐波那契数的和。这种方法虽然简洁,但对于较大的数可能会导致性能问题,因为存在大量的重复计算。 第二个Java程序用于找出101到200之间的所有质数。质数是只有1和它本身两个正因数的自然数。程序创建了一个`math`类,包含一个`iszhishu`方法,用于判断一个整数是否为质数。这个方法通过遍历从2到输入数的一半,检查是否有因子。如果有因子且能被2整除,说明不是质数,返回false;否则,当循环结束时,说明是质数,返回true。这个程序打印出所有符合条件的质数。 第三个Java程序是寻找100到999之间的水仙花数。水仙花数是指一个三位数,其各位数字的立方和等于它自身。例如,153是一个水仙花数,因为1的三次方加5的三次方加3的三次方等于153。程序通过一个for循环遍历100到999的所有数,逐个计算其各位数字的立方和,并与原数进行比较。如果相等,则找到了一个水仙花数,将其打印出来。 这三个Java编程题目分别涉及递归算法、质数判断和数字特性检测,是理解和练习基础算法的好例子。对于初学者来说,这些题目可以帮助提高对Java语言的理解和编程技巧。同时,这些程序也可以作为进一步优化和性能提升的挑战,例如通过动态规划优化斐波那契数列的计算,或者使用更高效的算法来查找质数和水仙花数。