使用遞迴查詢給定數字的反轉的 Swift 程式
本教程將討論如何編寫 Swift 程式,使用遞迴查詢給定數字的反轉。
反轉數字是一個過程,其中數字的數字位置互換以反轉其順序。為了找到數字的反轉,我們使用遞迴方法。遞迴方法是一種方法,其中函式自身呼叫以完成指定的任務。
以下是相同內容的演示 -
輸入
假設我們的給定輸入是 -
MyVal = 278938
輸出
所需的輸出將是 -
Reverse number = 839872
方法 1
演算法
以下是演算法 -
步驟 1 - 建立一個遞迴函式。
步驟 2 - 設定基本條件以結束遞迴呼叫。
步驟 3 - 列印給定數字的個位數。
步驟 4 - 遞迴呼叫函式並找到剩餘數字。
步驟 5 - 繼續處理,直到數字減少到一位數。
示例
以下程式顯示瞭如何使用遞迴查詢給定數字的反轉。
import Foundation
import Glibc
func reverseNum(N: Int){
if (N < 10){
print(N)
}
else{
print(N%10, terminator: "")
reverseNum(N:N/10)
}
}
var Num = 1234
print("Reverse of (Num) is ")
reverseNum(N: Num)
輸出
Reverse of (Num) is 4321
在上面的程式碼中,我們建立了一個名為 reverseNum() 的遞迴函式。此函式用於透過自身呼叫來反轉給定數字 = 1234。因此,上面程式碼的工作原理如下 -
第一次呼叫 1234 -
reverseNum(N: 1234): Print(1234%10) = 4 reverseNum(N:1234/10) = 123
第二次呼叫 123 -
reverseNum(N: 123): Print(123%10) = 3 reverseNum(N:123/10) = 12
第三次呼叫 12 -
reverseNum(N: 12): Print(12%10) = 2 reverseNum(N:12/10) = 1
第四次呼叫 1 -
reverseNum(N: 1): Print(1%10) = 1 reverseNum(N:1/10) = 0 // Condition false loop end
因此,1234 的反轉是 4321。
方法 2
演算法
以下是演算法 -
步驟 1 - 建立一個遞迴函式。
步驟 2 - 設定基本條件以結束遞迴呼叫。
步驟 3 - 宣告一個名為 ext 的變數以從給定數字中提取個位數。
步驟 4 - 我們將 ext 新增到 res 變數。在這裡,在將 ext 數字新增到反轉數字之前,res 乘以 10。因為下一個數字總是新增到個位位置。
步驟 5 - 遞迴呼叫函式並反轉剩餘數字。
步驟 6 - 宣告一個變數來儲存我們要反轉的數字。
步驟 7 - 呼叫函式並將數字作為引數傳遞給函式。
步驟 8 - 列印輸出。
示例
以下程式顯示瞭如何使用遞迴查詢給定數字的反轉。
import Swift
import Foundation
var res = 0
func reverseNUM(num: Int)->Int{
if (num == 0){
return res
}
if (num > 0){
let ext = num % 10
res = res * 10 + ext
_ = reverseNUM(num: num/10)
}
return res
}
var val = 8655454
print("Original Number: ", val)
print("Reverse number: ", reverseNUM(num:val))
輸出
Original Number: 8655454 Reverse number: 4545568
在上面的程式碼中,我們建立了一個名為 reverseNUM() 的遞迴函式。此函式用於透過自身呼叫來反轉給定數字 = 8655454。因此,上面程式碼的工作原理如下 -
第一次呼叫 8655454 -
reverseNUM(num: 8655454):
if (8655454 > 0){
let ext = 8655454 % 10 = 4
res = res * 10 + ext = 0 * 10 + 4 = 4
reverseNUM(num: 8655454/10) = 865545
}
第二次呼叫 865545 -
reverseNUM(num: 865545):
if (865545 > 0){
let ext = 865545 % 10 = 5
res = res * 10 + ext = 4 * 10 + 5 = 45
reverseNUM(num: 865545/10) = 86554
}
Till if(num>0) condition is false.
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP