问题描述: C语言作业,用for循环 从一楼到二楼有20个台阶,人一次只能走一个或两个台阶,从一楼到二楼有多少种走法 1个回答 分类:综合 2014-12-12 问题解答: 我来补答 简单分析下:走到第i阶的方法有两种,从第i-2直接走2阶和从第i-1阶走1阶,所以f(i)=f(i-2)+f(i)因此该问题可以抽象为斐波那契数列,这样求解就简单多了.定义一下初始条件,到第一阶的方法f(1)=1; 到第二阶的方法有f(2) = 1 + f(1)=2所以代码如下:#include<stdio.h>int main(){ int n=20; int i, l, b, r; for(i=3, l=1, b=2; i<21; i++) { r = l + b; l=b; b=r; } printf("%d\n", r); return 0;} 展开全文阅读