【C语言】有n个阶梯,可以一次上一个台阶,也可以一次上两个台阶,有几种方法上完?请给出求解此问题的算法,并给出在n=11时的结果。

有n个阶梯,可以一次上一个台阶,也可以一次上两个台阶,有几种方法上完?请给出求解此问题的算法,并给出在n=11时的结果。

 

#define _CRT_SECURE_NO_WARNINGS
#include  

int main(){

	int a, b, n, count = 0;
    printf("请输入总台阶数:");
	scanf("%d", &n);
	for (a = 0; a <= n; a++) {//a代表1个台阶
		for (b = 0; b <= n/2; b++) {//b代表2个台阶
				if (a + b * 2 == n) {
					printf("a=%d,b=%d\n", a, b);
					count++;
				}
			}
		}
	printf("一共有%d种方法\n", count);
	return 0;
}

运行结果:

【C语言】有n个阶梯,可以一次上一个台阶,也可以一次上两个台阶,有几种方法上完?请给出求解此问题的算法,并给出在n=11时的结果。_第1张图片

 

你可能感兴趣的:(算法,c语言,数据结构)