今天学c语言忽然看到想到C语言中的数组跟数学中的数列有点相似,于是心血来潮,打算尝试一下用C来打印裴波那契数列。
简单来讲,裴波那契数列就是这样一组数字所组成的:
1,1,2,3,5,8,13……
观察其规律不难发现,自第3位起,每一位等于其前两位的和,假设这个数列有n个项,那么第n个数等于第n-2个数+第n-1个数(n>=3)
ok,知道了规律之后,我们开始来写这个代码
我们先写一个:打印我们想要的这个数列中的第n个数
1.无论要干什么,先搭好基本框架。
2.思考如何要用到几个参数
首先,“我”来决定打印哪个数出来,那我们就需要一个变量起名为 Con ,所以我们需要用到scanf来输入这个数。
然后数列从1开始,一直到我们想要的这个位数,这种循环往复的,我们选择用for循环,所以还需要一个变量起名为 i 。
前两个数相加等于第三位数,那还需要用到和,我们起名为 sum 。
前两位数都是1,我们把它们分别命名为m和n并将它两打印出来。
3.现在开始,我们要定义循环,来实现裴波那契数列的打印
当i=2,进入循环,sum=m+n=2,打印2
然后将m与n调换,并将sum的值赋给m
这样,我们就实现了从第三个数开始,每一位数都等于前两位数的和。
因为i从0开始,所以i=2时,其实是输出数列的第三位。
以此类推,我们便得到裴波那契数列的打印结果
当然,你如果只要第n位数,将printf()放到循环以后并注释掉输出m和n,执行完循环之后,打印出结果。
写在最后:
第一次写博客,难免有表述不清晰等问题,请多多包涵!希望大家学习c语言日益精进!