-1
我想知道是否有方法可以找到數字是否是Swift中的完美廣場。我讓用戶輸入一個數字來檢查它是否是一個完美的正方形。是否有聲明或功能?先謝謝你!Swift 3 - 查找數字是否完美廣場
我想知道是否有方法可以找到數字是否是Swift中的完美廣場。我讓用戶輸入一個數字來檢查它是否是一個完美的正方形。是否有聲明或功能?先謝謝你!Swift 3 - 查找數字是否完美廣場
嘗試這樣:
var number = 9.0
let root = sqrt(number)
let isInteger = floor(root) == root
print("\(root) is \(isInteger ? "perfect" : "not perfect")")
那 「isInteger
」 位我發現in this related question。
您可以轉換的整數翻倍,獲得其對squareRoot財產,繞着它和比較反對其對squareRoot:
extension Integer {
var double: Double { return Double(toIntMax()) }
var isPerfectSquare: Bool {
return double.squareRoot().rounded() == double.squareRoot()
}
}
遊樂場
4.isPerfectSquare // true
7.isPerfectSquare // false
9.isPerfectSquare // true
(-9).isPerfectSquare // false
爲任何代價,你認爲它應該拋出一個錯誤 - 例如南 - ?或者返回'false'就足夠了? –
這是一個布爾真或假,你可以添加一個先決條件,但返回false我認爲這是足夠的 –