枚举算法001

Hello!各位小伙伴们大家好,我是FreeBamb,今天我来带大家一起进入算法的世界!我们先从枚举算法开始学习哦!

首先,我给大家普及一下枚举算法的基本概念,枚举算法就是将所有可能的结果进行逐个枚举尝试,进而找到适合条件的数据。说白一点就是利用多重 for 循环将所有的可能进行遍历,最后利用 if 判断语句将我们需要的结果筛选出来。下面,我们用一个简单demo来进行学习。

求100-1000之间的水仙花数(Narcissus)。

#include<stdio.h>

int main(){
        // 遍历1-1000之间的数字
        for(int i = 1;i<1000;i++){
            //得到百位上的数字
            int a= i/100;
            //得到十位上的数字
            int b= i/10%10;
            //得到个位上的数字
            int c=i%10;    
            //判断条件,输出数字
            if(i==a*a*a+b*b*b+c*c*c) printf("%d ",i);
        }
    return 0;
}

 也许这个demo很多人都会写,但是我想在敲代码时真真会想到这是一个枚举算法的人却不是很多,我认为在学习编程的时候我们需要系统地进行学习,将这些算法思想扎根于我们脑海。最后,再次声明,我是FreeBamb,希望大家对我进行批评指正,也请喜欢算法的小伙伴们关注我哦!与君共勉!

原文地址:https://www.cnblogs.com/ssjie/p/4903185.html