Submission #17059875


Source Code Expand

import Foundation
// 第一引数には約数を列挙したい自然数を渡す
func print_divisors(n:Int)->[Int]{
    // 戻り値となる配列の初期化
    var divisors:[Int] = []
    // ループを回すのは√nまでで十分
    for i in 1...Int(sqrt(Double(n))){
        // 割り切れるならiはnの約数
        if n % i == 0{
            divisors.append(i)
            // i != n / i なら i^2 != n
            if i != n / i{
                divisors.append(n/i)
            }
        }
    }
    // 配列をソートする
    divisors.sort{ $0 < $1 }
    // divisorsを返す
    return divisors
}

// 標準入力の受け取り
let n = Int(readLine()!)!

// 約数列挙
let check = print_divisors(n:n)

// 答えとなる変数ansの初期化 (とりあえずめっちゃでかい値入れておく)
var ans = 100000000000000

// 各約数についてループを回す
for i in check{
    
    // ループは √n までで十分
    if i > Int(sqrt(Double(n))){
        break
    }
    
    // より小さい値をansに代入
    ans = min(ans,i+n/i-2)
}

// 答えを返す
print(ans)

Submission Info

Submission Time
Task C - Walk on Multiplication Table
User tardigrade
Language Swift (5.2.1)
Score 300
Code Size 1163 Byte
Status AC
Exec Time 78 ms
Memory 13500 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 3
AC × 41
Set Name Test Cases
Sample sample_01, sample_02, sample_03
All hand_01, hand_02, hand_03, hand_04, hand_05, hand_06, hand_07, hand_08, large_01, large_02, large_03, large_04, large_05, large_06, large_07, large_08, prime_01, prime_02, prime_03, random_01, random_02, random_03, random_04, random_05, random_06, random_07, random_08, sample_01, sample_02, sample_03, small_01, small_02, small_03, small_04, small_05, small_06, small_07, small_08, square_01, square_02, square_03
Case Name Status Exec Time Memory
hand_01 AC 78 ms 13148 KiB
hand_02 AC 13 ms 13080 KiB
hand_03 AC 23 ms 13008 KiB
hand_04 AC 25 ms 12816 KiB
hand_05 AC 15 ms 12800 KiB
hand_06 AC 22 ms 13500 KiB
hand_07 AC 20 ms 13188 KiB
hand_08 AC 26 ms 12816 KiB
large_01 AC 24 ms 12916 KiB
large_02 AC 35 ms 12744 KiB
large_03 AC 21 ms 13080 KiB
large_04 AC 27 ms 13212 KiB
large_05 AC 26 ms 13084 KiB
large_06 AC 20 ms 12996 KiB
large_07 AC 25 ms 13008 KiB
large_08 AC 23 ms 12736 KiB
prime_01 AC 22 ms 13184 KiB
prime_02 AC 17 ms 12748 KiB
prime_03 AC 21 ms 13240 KiB
random_01 AC 20 ms 13188 KiB
random_02 AC 22 ms 13084 KiB
random_03 AC 16 ms 12872 KiB
random_04 AC 25 ms 13188 KiB
random_05 AC 14 ms 13000 KiB
random_06 AC 24 ms 13240 KiB
random_07 AC 26 ms 13260 KiB
random_08 AC 20 ms 12996 KiB
sample_01 AC 9 ms 13380 KiB
sample_02 AC 11 ms 13240 KiB
sample_03 AC 18 ms 13080 KiB
small_01 AC 9 ms 13192 KiB
small_02 AC 9 ms 12944 KiB
small_03 AC 13 ms 13380 KiB
small_04 AC 8 ms 13188 KiB
small_05 AC 9 ms 12920 KiB
small_06 AC 12 ms 13000 KiB
small_07 AC 10 ms 13380 KiB
small_08 AC 10 ms 13212 KiB
square_01 AC 16 ms 12896 KiB
square_02 AC 18 ms 12748 KiB
square_03 AC 26 ms 12984 KiB