标签:
Hello!各位小伙伴们大家好,我是苦瓜,今天我来带大家一起进入算法的世界!我们先从枚举算法开始学习哦!
首先,我给大家普及一下枚举算法的基本概念,枚举算法就是将所有可能的结果进行逐个枚举尝试,进而找到适合条件的数据。说白一点就是利用多重 for 循环将所有的可能进行遍历,最后利用 if 判断语句将我们需要的结果筛选出来。下面,我们用一个简单demo来进行学习。
求100-1000之间的水仙花数(Narcissus)。
public class Narcissus { public static void main(String[] args) { // TODO Auto-generated method stub // 实例化一个对象 Narcissus nar = new Narcissus(); nar.printNarcissus(); } public void printNarcissus(){ // 利用for循环遍历1-1000之间的数字 for(int i = 1;i<1000;i++){ //得到百位上的数字 int a= i/100; //得到十位上的数字 int b= i/10%10; //得到各位上的数字 int c=i%10; int number=a*100+b*10+c; //用if进行条件判断,符合条件的数字输出 if(number==a*a*a+b*b*b+c*c*c){ System.out.println(number); } } } }
也许这个demo很多人都会写,但是我想在敲代码时真真会想到这是一个枚举算法的人却不是很多,我认为在学习编程的时候我们需要系统地进行学习,将这些算法思想扎根于我们脑海。最后,再次声明,我是苦瓜MOMO,希望大家对我进行批评指正,也请喜欢算法的小伙伴们关注我哦!与君共勉!
标签:
原文地址:http://www.cnblogs.com/ssjie/p/4903185.html