結果

問題 No.889 素数!
ユーザー Maboy
提出日時 2021-06-27 19:21:23
言語 Swift
(6.0.3)
結果
AC  
実行時間 12 ms / 2,000 ms
コード長 716 bytes
コンパイル時間 2,244 ms
コンパイル使用メモリ 176,188 KB
実行使用メモリ 15,616 KB
最終ジャッジ日時 2024-06-25 11:55:19
合計ジャッジ時間 3,909 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 61
権限があれば一括ダウンロードができます

ソースコード

diff #

import Foundation

func isPrimeNumber(_ n:Int) -> Bool{
    if n != 2 && n % 2 == 0{return false}
    var c = 3
    while c <= 1 + Int(sqrt(Double(n))){
        if n % c == 0{
            return false
        }else{
            c += 2
        }
    }
    return true
}

func isRoot(_ n:Int,_ r:Int = 2) -> Bool{
    let s = Int(pow(Double(n),1.0/Double(r)))
    if Int(pow(Double(s),Double(r))) != n{
        return false
    }
    return true
}

let n = Int(readLine()!)!
var s = String(n)
if n > 1{
    if isPrimeNumber(n){
        s = "Sosu!"
    }else if isRoot(n){
        s = "Heihosu!"
    }else if isRoot(n, 3){
        s = "Ripposu!"
    }else if n == 6 || n == 28{
        s = "Kanzensu! "
    }
}
print(s)
0