递归算法
来源:互联网 发布:淘宝店铺首页全屏轮播 编辑:程序博客网 时间:2024/06/07 15:39
人家都说,实现相同的功能,用的方法不同,可以看出不同人的思维逻辑的能力,有句话说高手是用递归做算法的,菜鸟是用循环做算法的,然而今天我将他们两者结合起来做了。
题目:打印出所有的"水仙花数(narcissus number)",所谓"水仙花数"是指一个三位数,
其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
这道题就是传说中的水仙花的算法,相信很多人都做过的,我在这里也总结一下自己的写法:
public class ThirdNarcissusNum {
static int b,bb,bbb; //定义三个参数
public static void main(String[] args) {
//用循环+递归
for (int i = 100; i <999; i++) {
ThirdNarcissusNum tn=new ThirdNarcissusNum();
tn.chang(i);
}
}
public void chang(int m){
//进行数学逻辑判断
bbb=m/100;
bb=(m%100)/10;
b=(m%100)%10;
if (bbb*bbb*bbb+bb*bb*bb+b*b*b==m) {
System.out.println(m+"是水仙花数");
}
}
}
实现的方式应该是多种多样的,不同的方法实现相同的结果,对于思维锻炼是有帮助的!
1 0
- 递归算法
- 递归算法
- 递归算法
- 递归算法
- 递归算法
- 递归算法
- 递归算法
- 递归算法
- 递归算法
- 递归算法
- 递归算法
- 递归算法
- 递归算法
- 递归算法
- 递归算法
- 递归算法
- 递归算法
- 递归算法
- ThreadLocal源码解析(一)
- 教程|没有博士学位,照样玩转TensorFlow深度学习
- #211. 数列
- 初探设计模式之单例模式
- 一个经典的java传递问题
- 递归算法
- 变量提升
- 【多线程】--线程同步
- 2017Google Codejam round1b Problem C. Pony Express
- 电商数据分析基础指标体系
- Configuring LabVIEW, LabVIEW DSC, NI Variable Engine, and Lookout to Work with the Windows Firewall
- ImageLoader网络加载图片
- Linux安装配置SVN服务
- LeetCode 287. Find the Duplicate Number