一.详细分析
1-问题的开始
昨天去图书馆看到一道C语言上机题。如果2008年3月1日是星期四,那么2008年1月1日是星期几?
这里补充一下小学没有学到的“测度”知识。
- 8减1得几?
- 8到1几个数?
- 2到8几个数?
第一个问题作差就好:8-1=7
第二个问题相信大学生都没有思考过,应该是:(8-1)+1=8
第三个问题就会了,有很多解法,最基本的:(8-2)+1=7
很多人在“两个数之间有几个数”这个问题上总是算不对,或者多算1个。主要原因是小学没有进行反复训练。所以在大学上编程课这是难以逾越的鸿沟问题。
2-问题的加剧
考虑另一个问题
- 0和10个数之间有几个数。
- 1和10之间有几个数。
这个问题的困难是两个数之间的通项公式怎么写。比如d=4的等差数列。
3 7 10 14 17
1 2 3 4 5
0 1 2 3 4
问个问题:等差数列的通项公式:
a n = a 1 + ( n − 1 ) d a_{n}=a_{1}+(n-1)d an=a