Kotlin 與 Swift 語法對照:跨平台開發者 (2025年)

Kotlin 與 Swift 語法對照表(2025 年版) 在行動應用開發中, Kotlin 與 Swift 分別是 Android 與 iOS 的主流語言。雖然語法有些差異,但其實它們有很多相似之處。本文整理了常用的語法對照表,方便跨平台開發者快速上手。 1. 變數宣告 // Kotlin val name: String = "Alice" // 常數 var age: Int = 25 // 可變數 // Swift let name: String = "Alice" // 常數 var age: Int = 25 // 可變數 2. 條件判斷 // Kotlin if (age >= 18) { println("Adult") } else { println("Minor") } // Swift if age >= 18 { print("Adult") } else { print("Minor") } 3. 函式定義 // Kotlin fun greet(name: String): String { return "Hello, $name!" } // Swift func greet(_ name: String) -> String { return "Hello, \(name)!" } 4. 陣列與迴圈 // Kotlin val fruits = listOf("Apple", "Banana", "Cherry") for (fruit in fruits) { println(fruit) } // Swift let fruits = ["Apple", "Banana", "Cherry"] for fruit in fruits { print(f...

[Java] UVa 13148 A Giveaway

題目連結

題意:
給定一個數 N(1億以內)
如果是一數的平方,也是另一數的次方
輸出 Special
例如: 1, 64, 729, ...

否則,輸出 Ordinary

解法:
題目很好心...
範圍內的結果通通告訴你
用 if else 判斷就可以暴力解決

正常方法就是分別開 2 方與開 3 方
理論上結果都是整數就是 Special
這裡用到的方法是 Math 的 pow(m, n)
可以回傳 m 的 n 次方(double)
開 2 方就是 * 1/2次方
開 3 方就是 * 1/3次方

不過,如果寫成 Math.pow(N, 1/2)
會發現結果是 1
因為直接 1/2 會 = 0 (整數/整數)
任何數的 0 次方為 1
所以要先強制轉型: Math.pow(N, (float)1/2)

以為這樣就可以了
結果卻發生另一件事
如:
Math.pow(64, (double)1/3) = 3.9999999999999996
Math.pow(64, (float)1/3) = 4.000000165259169

Java 的浮點數在計算上產生了極小誤差
反正我們要的是整數
可以用 Math.Round 或其他方式
取最趨近的整數值後逆推回去
看該數的平方或立方是不是原數即可

再者
該數同時為一數的平方,與另一數的次方
則該數必滿足為某數的 6 次方

只要思考質因數分解
假設 N = A ^ 2 = B ^ 3
必然存在 N = (C ^ 2) ^ 3

可以觀察題目提供的數:
1 = 1 ^ 6
64 = 2 ^ 6
729 = 3 ^ 6
4096 = 4 ^ 6

所以只要開 6 次
取整數乘回去 = N 即是解

程式(Java):

目前 GitHub gist 有些狀況
當程式看不見,請參考: https://github.com/maxi67/UVa/blob/master/UVa13148.java

留言

這個網誌中的熱門文章

【Ubuntu】Terminal 複製貼上的方法 Copy & Paste

【Ubuntu】關閉預設畫面自動鎖定

[Java] HashMap資料結構簡介與用法