程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 有趣的數組

有趣的數組

編輯:C++入門知識

問題重現
根據藍橋杯題目的簡化,從”從“開始走,構成:從我做起振興中華
從我做起振
我做起振興
做起振興中
起振興中華

已知數組,如下:
 

int arr[SIZE][SIZE]={ 
    {0,1,2,3,4}, 
    {1,2,3,4,5}, 
    {2,3,4,5,6}, 
    {3,4,5,6,7} 
}; 

int arr[SIZE][SIZE]={
 {0,1,2,3,4},
 {1,2,3,4,5},
 {2,3,4,5,6},
 {3,4,5,6,7}
};

請試圖去尋找一條軌跡(橫走或者豎走,不允許按對角線走),軌跡為:01234567,求一共有多少種走法?

?//解法一:遞歸實現  
#include<stdio.h>  
#define SIZE 5  
 
int count=0; 
 
void fun(int i,int j,int deep){ 
    if(deep==8){ 
        count++; 
        return; 
    } 
    if(i<SIZE-2){ 
        //行  
        fun(i+1,j,deep+1); 
    } 
    if(j<SIZE-1){ 
        //列  
        fun(i,j+1,deep+1); 
    } 
} 
 
void main(){ 
    fun(0,0,1); 
    printf("%d\n",count); 
} 

//解法一:遞歸實現
#include<stdio.h>
#define SIZE 5

int count=0;

void fun(int i,int j,int deep){
 if(deep==8){
  count++;
  return;
 }
 if(i<SIZE-2){
  //行
  fun(i+1,j,deep+1);
 }
 if(j<SIZE-1){
  //列
  fun(i,j+1,deep+1);
 }
}

void main(){
 fun(0,0,1);
 printf("%d\n",count);
}

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved