蜜蜂路线问题C++
問題描述
一只蜜蜂在下圖所示的數字蜂房上爬動,已知它只能從標號小的蜂房爬到標號大的相鄰蜂房,現在問你:蜜蜂從蜂房M開始爬到蜂房N,M<N,有多少種爬行路線?
要求:
【輸入格式】 輸入M,N的值。
【輸出格式】 爬行有多少種路線。
【輸入樣例】 1 14
【輸出樣例】 377
分析:
假設從1號蜂房開始:
到1號蜂房1種路線,到2號蜂房1種路線
到3號蜂房分為從1號到和從2號到,有2種路線
到4號蜂房分為從2號到和從3號到,有3種路線
到5號蜂房分為從3號到和從4號到,有5種路線
…
實質為斐波那契數列問題。
編程如下:
#include <iostream>using namespace std;int main() {int m; //從m爬到nint n;cin>>m>>n;int a[100] = {0}; //存儲種類數a[m] = 1;a[m+1] = 1;for(int i=m+2;i<=n;i++){a[i] = a[i-1]+a[i-2];}cout<<a[n]<<endl;}總結
- 上一篇: 单向链表指针问题
- 下一篇: BMP图片加马赛克C语言C++超简单