Swift 中的技術數
如果給定的數字包含偶數個數字,並且數字的數字可以從中間分成兩個相等的部分。劃分數字後,將劃分的數字加起來,並找到最終和的平方。如果平方等於和本身,則給定的數字是技術數,否則不是。

示例演示
輸入
3025
輸出
Yes the given number is a tech number
輸入
2341
輸出
No the given number is not a tech number
這裡,3025 是一個技術數,因為 30 + 25 = 55 => (55)2 = 3025。而 2341 不是技術數,因為 23 + 41 = 64 => (64)2 = 4096。
演算法
步驟 1 − 從使用者那裡獲取數字。
步驟 2 − 統計數字中存在的總位數。
步驟 3 − 然後檢查數字是否包含偶數個數字。
步驟 4 − 如果是,則將數字的數字從中間分成兩等份。
步驟 5 − 然後將兩部分相加。
步驟 6 − 求和的平方。
步驟 7 − 如果和的平方等於原始數字,則該數字是技術數。否則不是。
步驟 8 − 顯示輸出。
現在使用以下 Swift 程式,我們可以找到技術數。
示例 1:檢查給定數字是否為技術數
在以下 Swift 程式中,我們將檢查給定數字是否為技術數。為此,我們將建立一個函式,該函式接受一個引數並返回一個布林值,該值表示給定數字是否為技術數。此函式首先檢查給定數字中的總位數。如果位數是偶數,則將其從中間分成兩組,以便兩組包含相同數量的位數。然後它將兩組相加,然後求和的平方。如果和的平方等於原始數字,則該數字是技術數,否則不是。
import Foundation
import Glibc
// Function to check if the number is tech number or not
func checkTechNumber(num: Int) -> Bool {
var number = num
var digits = 0
while number > 0 {
digits += 1
number /= 10
}
// If number contain even digits
// then check the given number is tech number or not
if digits % 2 == 0 {
number = num
// Dividing digits of number into two set from the
// middle with exact number of digits in each set
let firstHalf = number % Int(pow(10, Double(digits / 2)))
let secondHalf = number / Int(pow(10, Double(digits / 2)))
// Adding both the set
let sum = firstHalf + secondHalf
// Fiding the square of the sum
let square = Int(pow(Double(sum), 2))
// If the square is equal to the number then retrun true
return num == square
} else {
return false
}
}
let myNumber = 2025
if (checkTechNumber(num:myNumber) == true) {
print("\(myNumber) is a tech number.")
} else {
print("\(myNumber) is not a tech number.")
}
輸出
2025 is a tech number.
示例 2:查詢 1 到 N 之間技術數
在以下 Swift 程式中,我們將查詢 1 到 10000000 或 N 之間技術數。為此,我們從 1 到 10000000 執行一個 for-in 迴圈,並檢查每個數字是否為技術數。如果當前數字是技術數,則在螢幕上顯示它。否則,移至下一個數字。
import Foundation
import Glibc
print("Tech numbers between 1 to 10000000 are:")
for number in 1...10000000{
// Dividing the digits of the number into two equal parts
let firstHalf = number % 100
let secondHalf = number / 100
// Find the sum of the two parts
let sum = firstHalf + secondHalf
// Find the square of the sum
let square = Int(pow(Double(sum), 2))
// Check if the square is equal to the number
if number == square {
print(number)
}
}
輸出
Tech numbers between 1 to 10000000 are: 1 2025 3025 9801 10000
現實生活中的應用
技術數的現實生活中的應用是
技術數用於理解程式設計邏輯。
初學者使用它來了解迴圈的工作原理。
結論
因此,這就是我們在 Swift 中如何檢查數字是否為技術數的方法。它有助於構建程式設計邏輯。使用上述方法,我們可以輕鬆找到技術數。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP