Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5787339
  • 博文数量: 409
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 8273
  • 用 户 组: 普通用户
  • 注册时间: 2013-10-23 19:15
个人简介

qq:78080458 学习交流群:150633458

文章分类

全部博文(409)

文章存档

2019年(127)

2018年(130)

2016年(20)

2015年(60)

2014年(41)

2013年(31)

分类: 嵌入式

2015-09-09 08:20:34

什么是算法

算法 + 数据结构 = 程序

算法就是解决问题的步骤和方法

经典的列子:计算1+2+3+。。。。。+100

1) step1: 1+2--->sum

 step2: sum+3--->sum  

 step3: sum+4--->sum

 ....

 step99:sum+100--->sum

2) step1: 1--->num

 step2: 0--->sum

 step3: num+sum--->sum

 step4: num+1--->num

 step5: 如果num<101, 返回step3,否则step6

 step6:退出

3)step1: 1+100--->sum

 step2: sum x 50--->sum

 step3: 退出

不同的做法虽然结果一样,但是耗费的精力却不同

 

练习一下

1、    计算1x2x3x4...x100

step1: 1--->num

 step2: 1--->sum

 step3: num x sum--->sum

 step4: num + 1--->num

 step5: 如果num<101, 返回step3,否则step6

 step6:退出

2、    打印出2000-2500之间的闰年

首先来分析一下什么是闰年?

1)能被4整除但是不能被100整除的年份

2)能被400整除的年份

 

流程:

 step1: 2000--->year

 step2: 如果year不能被4整除,不是闰年,跳转step5

 step3: 如果year能被4整除,不能被100整除,那么打印year,跳转step5

 step4: 若果year能被400整除,打印year,跳转step5

 step5: year + 1--->year

 step6:如果year大于2500,退出

3、    3个数a,b,c打印出其中最大的

step1: 如果a>b,  a--->temp,否则b--->temp

step2:如果c>temp c--->temp

step3: 输出temp

阅读(14084) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~