函式的遞迴及科赫曲線繪製
函式的遞迴及科赫曲線繪製
1 遞迴的定義
遞迴:在函式中呼叫自己本身
階乘的例子表現了遞迴的兩個特徵:
1、存在一個或多個基例,基例不需要再次遞迴,它是確定的表示式
2、所有遞迴鏈要已一個或多個基例結尾
2 遞迴的使用方法
階乘的計算
根據使用者輸入的整數n,計算並輸出n的階乘值(本例n取10,12.56兩種形式數值)
定義fact()函式
fact()函式通過if語句給出n為0的基例,當n==0時,fact()函式返回數值1,不再遞迴;n!=0時,通過遞迴返回n與n-1階乘的乘積
負數和小數則通過abs()與int()函式將對應數值轉換為非負整數
注意:若基例的構建錯誤則遞迴無法返回將會報錯**
字串的反轉
輸入字串n ,輸出反轉後的字串
錯例如下圖
此錯誤表明系統無法執行reverse()函式建立的遞迴
reverse()函式沒有基例,遞迴層數超過最大(預設情況為1000),此時需通過下面的程式碼設定一個新的遞迴層數
上面的方法較為麻煩,可以通過設定基例為最短形式(空字串)來進行
正確程式碼為下圖
科赫曲線繪製
形狀類似雪花,也稱雪花曲線
科赫曲線的基本概念和繪製方法如下:
正整數n代表科赫曲線的階數,表示生成科赫曲線過程的操
作次數。科赫曲線初始化階數為0,表示一個長度為L的直線。
對於直線L,將其等分為三段,中間一段用邊長為L/3的等邊三
角形的兩個邊替代,得到1階科赫曲線,它包含四條線段。進
一步對每條線段重複同樣的操作後得到2階科赫曲線。繼續重
復同樣的操作n次可以得到n階科赫曲線。
一階科赫曲線
n階科赫曲線的雪花效果
相關文章
- JavaScript繪製sin正弦函式曲線JavaScript函式
- JavaScript 繪製sin正弦函式曲線JavaScript函式
- iOS 波浪曲線的繪製iOS
- 動畫函式的繪製及自定義動畫函式動畫函式
- 函式的遞迴函式遞迴
- 迴圈_推導式_繪製棋盤_函式函式
- canvas繪製sin正弦曲線Canvas
- 遞迴函式遞迴函式
- 遞迴函式的理解遞迴函式
- 怎麼用java繪製曲線Java
- 函式表示式–遞迴函式遞迴
- JavaScript 函式遞迴JavaScript函式遞迴
- php遞迴函式PHP遞迴函式
- 函式之遞迴函式遞迴
- 解析csv資料繪製曲線圖
- ROC曲線繪製與AUC計算
- 函式遞迴與生成式函式遞迴
- Origin教程:DSC曲線的描述和繪製
- 基於react的錄音及音訊曲線繪製的元件開發React音訊元件
- 第 8 節:函式-匿名函式、遞迴函式函式遞迴
- 初學 PHP 函式的遞迴PHP函式遞迴
- 用canvas繪製一個曲線動畫——深入理解貝塞爾曲線Canvas動畫
- Python 函式進階-遞迴函式Python函式遞迴
- JS函式表示式——函式遞迴、閉包JS函式遞迴
- 雜篇:Android繪製函式圖象及正弦函式的介紹Android函式
- 1.5.6 python遞迴函式Python遞迴函式
- 13.0、python遞迴函式Python遞迴函式
- day 17 – 1 遞迴函式遞迴函式
- 遞迴函式例項大全遞迴函式
- 遞迴函式-樹形列表遞迴函式
- JavaScript 中匿名函式的遞迴呼叫JavaScript函式遞迴
- flutter 自定義view 繪製曲線統計圖FlutterView
- webGL入門-四階貝塞爾曲線繪製Web
- html5中canvas繪製貝塞爾曲線HTMLCanvas
- caffe的python介面繪製loss和accuracy曲線示例Python
- SQL with as 的用法 以及遞迴函式的寫法 遞迴層次查詢SQL遞迴函式
- 分段函式圖形繪製函式
- C#語言函式遞迴C#函式遞迴