楊輝三角的C語言實現(遞迴與非遞迴)
本文用C語言程式碼實現楊輝三角
遞迴演算法依據於f(m,n)=f(m-1,n)+f(m-1,n-1) 其中(m,n)為楊輝三角第m行第n個元素
演算法程式碼如下:
#include <stdio.h> //遞迴函式 int func(int m,int n) { if(n==0||n==m)//遞迴終止條件 return 1; return func(m-1,n)+func(m-1,n-1);//核心程式碼 } int main(void) { int m,i,j; m=6;//列印前6行楊輝三角 for(i=0;i<=m;i++) { for(j=0;j<m-i;j++) printf(" "); for(j=0;j<=i;j++) printf("%6d",func(i,j)); printf("\n"); } return 0; }
輸出如下:
至於非遞迴演算法等待下一次更新。
相關推薦
列印楊輝三角--C語言小程式
簡述 楊輝三角是二項式係數在三角形中的一種幾何排列,n次二項式係數對應楊輝三角形的n+1行。該程式的作用是列印10行楊輝三角,用到的只是兩個迴圈的巢狀,並用二維陣列儲存。 效果如圖所示: 原始碼
線性表及其應用C語言實現(資料結構複習最全筆記)
一、順序表的表示與實現 1.線性表的順序結構定義 #define LIST_INIT_SIZE 100 //線性表儲存空間的初始分配量 #define LISTINCREMENT 10 //線性表儲存空間的分配增量 typedef struct { ElemType* el
排序及其應用C語言實現(資料結構複習最全筆記)(期末複習最新版)
排序 關於排序給兩篇不錯的部落格參考: http://www.cnblogs.com/eniac12/p/5329396.html https://www.cnblogs.com/eniac12/p/5332117.html 知識前提 關於內外排序 內排序:指在排序
查詢及其應用C語言實現(資料結構複習最全筆記)
所謂查詢(Search)又稱檢索,就是在一個數據元素集合中尋找滿足某種條件的資料元素。查詢在計算機資料處理中是經常使用的操作。查詢演算法的效率高低直接關係到應用系統的效能。查詢的方法很多,本章將介紹一些常用的查詢演算法,主要有:線性表的查詢、樹表的查詢和散列表的查詢,並對有關的演算法進行效能分析
圖及其應用c語言實現(資料結構複習最全筆記)(期末複習最新版)
圖 一.圖的基本概念 1.圖的定義 圖是由頂點(vertex)集合及頂點間的關係組成的一種資料結構。Graph=(V,E)Graph=(V,E)其中,頂點集合 V={x|x∈某個物件資料集}V={x|x∈某個物件資料集} 是有窮非空集合;E={(x,y)|x,y∈V}E={(x,y
樹及其應用c語言實現(資料結構複習最全筆記)
樹 一.樹的基本概念 二.二叉樹 1.二叉樹的定義 2.二叉樹的性質 此外在這裡在介紹下完美二叉樹的概念及重要性質 完全二叉樹是效率很高的資料結構,完全二叉樹是由滿二叉樹而引出來的。對於深度為K的,有n個結點的二叉樹,當
B樹之C語言實現(包括查詢、刪除、插入)
我在大二上學期的資料結構實驗設計中選擇了B樹這個題目,該B樹的資料結構實現採用了C語言。趁現在寒假整理完寫一篇博文記錄我的學習。文末提供了專案原始碼的地址。 B樹的定義 一棵m階B樹(Balanced Tree of order m),或為空樹,
楊輝三角的C語言實現(遞迴與非遞迴)
本文用C語言程式碼實現楊輝三角 遞迴演算法依據於f(m,n)=f(m-1,n)+f(m-1,n-1) 其中(m,n)為楊輝三角第m行第n個元素 演算法程式碼如下: #include <stdio.h> //遞迴函式 int func(int m,in
二叉樹後序遍歷(遞迴與非遞迴)演算法及C語言實現
二叉樹後序遍歷的實現思想是:從根節點出發,依次遍歷各節點的左右子樹,直到當前節點左右子樹遍歷完成後,才訪問該節點元素。 圖 1 二叉樹 如圖 1 中,對此二叉樹進行後序遍歷的操作過程為: 從根節點 1 開始,遍歷該節點的左子樹(以節點 2 為根節點); 遍歷節點 2 的左子樹(以節點 4 為根
二叉樹先序遍歷(遞迴與非遞迴)及C語言實現
二叉樹先序遍歷的實現思想是: 訪問根節點; 訪問當前節點的左子樹; 若當前節點無左子樹,則訪問當前節點的右子樹; 圖 1 二叉樹 以圖 1 為例,採用先序遍歷的思想遍歷該二叉樹的過程為: 訪問該二叉樹的根節點,找到 1; 訪問節點 1 的左子樹,找到節點 2; 訪問節點 2 的左子
楊輝三角(c++佇列模板實現)
#include using namespace std; template class LinkQueue{ struct LinkQueueNode { T data; LinkQueueNode link; LinkQueueNode(T &
八皇后問題回溯非遞迴演算法的C語言實現(文中是C語言的基本語法)
之前在CSDN的部落格上看到過大神們寫的回溯非遞迴程式碼,無奈C語言屬於初級階段無法理解位運算子等,所以自己寫了一個,此演算法雖不算簡潔,但看完應該就能理解演算法所要表達的思想。小弟的第一篇部落格,大神勿噴 #include<stdio.h> int ch
C語言實現的求二叉樹的最大寬度(遞迴與非遞迴版本)
一、遞迴 這裡說的遞迴,並非是指整個函式遞迴,而是說其中一個子函式使用了遞迴。整個思路可以如下:要求取最大寬度,可以迴圈求取每一層的寬度,存入一個數組,然後在這個數組裡求最大值即可,陣列下標即層數(或高度)。對於求某一層的寬度,考慮把它寫成一個子函式,引數考慮起始結點以及對
二叉搜尋樹的查詢、插入、刪除的遞迴與非遞迴實現(C語言)
【概念】 什麼是二叉搜尋樹? 二叉搜尋樹又稱二叉排序樹(按照中序遍歷,可以得到一組有序的序列),它或者是一顆空樹,或者是具有以下性質的二叉樹: 若他的左子樹不為空,則左子樹上所有節點的值都小於根結點的值。 若他的
C語言編程實現斐波那契數列(遞歸與非遞歸)
() code tdi clu return include 位置 c語言編程 數組 一.非遞歸 <1>數組 #include<stdio.h> #include<stdlib.h> int main() { int a[1000
在STM32上實現NTFS之4:GPT分區表的C語言實現(1):主GPT表頭的實現
center mbr分區 sum 對齊 字節數 決定 容器 alt 水平 題外話:在荒廢了很久沒有更新之後……某日突然收到讀者的站內信!內容大體是詢問GPT分區表信息的讀取方式,筆者激動萬分之下,決定繼續解剖NTFS……其實GPT嚴格上不算是NTFS的內容, GPT和M
在STM32上實現NTFS之5:GPT分區表的C語言實現(2)GPT實現以及統一方式讀取磁盤分區
tfs 下載 數據 特殊 dpt 屬性列表 handle 系統分區 成了 上一節實現了主GPT頭的信息提取,這一節繼續提取整個的GPT數據,並且將GPT分區表和MBR分區表兩種格式融合成一個模塊,使主調函數(也可以說是使用者)不需要關心磁盤的分區表類型:它太底層了,確實
bp神經網絡模型推導與c語言實現(轉載)
思路 包括 表示 現在 clas 兩個 通過 val c++ 轉載出處:http://www.cnblogs.com/jzhlin/archive/2012/07/28/bp.html BP 神經網絡中的 BP 為 Back Propagation
Python當中關於楊輝三角的列表實現
數列 n) n+1 打印 ng- 會有 數據覆蓋 做到 理解 楊輝三角的一些理解:感覺楊輝三角的實現至少在前兩行是特殊的。在後面的幾行代碼中我是這樣想的,可以用第n項加第n+1項。兩邊再加上1就可以了罷。兩邊如果都這麽做的話可以實現對稱的操作。 讓我們來實現吧。在實現的過程
約瑟夫環的c語言實現(代碼已實現)
def 數字 com max std urn img pri c語言實現 # include <stdio.h> #define MAXLEN 20 int front=MAXLEN-1;//隊列初始化 int rear=MAXLEN-1; enqu