怎样构造求解问题的算法?
什么是“算法(algorithm)”?
- 未解决某个特定问题而设计的一种解决方案
- 算法的针对性很强,专用于解决特定的问题
- 算法的设计,通常与数学有着很密切的联系,并且是独立于特定的编程语言和软件平台
让我们从一道算术题开始
请同学们手工计算出1999年5月10日到2006年3月8日期间一共有多少天?2494天
- 背景知识:一年365天,闰年366天;一年有十二月,分为大月(31天)和小月(30天);2月普通年28天,闰年29天
- 将整个“日期计算问题分解”的任务进行分解
- 1999到2006年期间有多少个整年?6个整年,2个闰年=2192天
- 1999年5月10日到年底有多少天?365-130=235天
- 2006年年初到3月8日有多少天?67天
- 结论:2192+235+67=2494天
我们为什么要花时间编程来干“日期计算”这件事?
- 我们经常需要计算两个日期之间间隔的天数;
- 有些间隔很长的日期,要计算起来工作量比较大
- 一劳永逸