結果

問題 No.98 円を描こう
ユーザー バカらっくバカらっく
提出日時 2018-03-02 17:08:51
言語 Swift
(5.10.0)
結果
CE  
(最新)
AC  
(最初)
実行時間 -
コード長 1,118 bytes
コンパイル時間 11,955 ms
コンパイル使用メモリ 129,772 KB
最終ジャッジ日時 2024-04-27 02:32:13
合計ジャッジ時間 12,312 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。

コンパイルメッセージ
error: link command failed with exit code 1 (use -v to see invocation)
/tmp/TemporaryDirectory.ju2ahy/Main-1.o:Main-1.o:function main: error: undefined reference to 'floor'
/tmp/TemporaryDirectory.ju2ahy/Main-1.o:Main-1.o:function $s1a4sqrtySiSd_S2dtF: error: undefined reference to 'floor'
clang-15: error: linker command failed with exit code 1 (use -v to see invocation)
error: fatalError

ソースコード

diff #

let inpt = readLine()!.split(separator: " ").map{Int($0)}

func sqrt(_ min:Double, _ max:Double, _ target:Double)->Int {
    if(max-min <= 0.0001) {
        if(min*min>=target) {
            return Int((min*2).rounded(.down)) + 1
        } else {
            return Int((max*2).rounded(.down)) + 1 
        }
    }
    let mid = (max + min) / 2.0
    if(mid * mid >= target) {
        return sqrt(min, mid, target)
    } else {
        return sqrt(mid, max, target)
    }
}

func sqrtInt(_ min:Int, _ max:Int, _ target:Int)->Int {
    if(max-min==0) {
        return max*2+1
    }
    if(max-min<=1) {
        if(max*max == target) {
            return max*2+1
        } else if(min*min == target) {
            return min*2+1
        } else {
            return -1
        }
    }
    
    let mid = (max+min) / 2
    if(mid*mid>target) {
        return sqrtInt(min, mid, target)
    } else {
        return sqrtInt(mid, max, target)
    }
    
}

let hankei2 = inpt[0]!*inpt[0]!+inpt[1]!*inpt[1]!
var ans = sqrtInt(0, hankei2, hankei2)
if(ans < 0) {
    ans = sqrt(0, Double(hankei2), Double(hankei2));
}
print(ans)
0