나머지가 1이 되는 수 찾기

KSang·2023년 11월 29일
0

[Kotlin]코드카타

목록 보기
14/100

문제설명

자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다.

제한사항

3 ≤ n ≤ 1,000,000

진행

반복문과 조건문을 사용하면 될것 같다

이전에 했던 약수의 합 반복문에서

fun solution(n: Int): Int {
    var answer = 0
    var num = 1

    while (num <= n){
        if(n % num == 0){
            answer += num
        }
        num++
    }
    return answer

}

나머지가 1이 될때 반복문을 종료 하게 만들면 끝

while (num <= n){
        if(n % num == 1){
            answer = num
            break
        }
        num++
    }
    return answer

코드

package com.example.codekata

fun main() {
    var num1: Int = 0
    println("숫자를 입력하세요.")
    num1 = readln().toIntOrNull() ?:0
    if (num1 > 1000000){
        println("숫자가 너무 큽니다")
    }
    else if (num1 <= 3){
        println("3이상 이어야 합니다")
    }
    else
    println("${solution(num1)}")
}

fun solution(n: Int): Int {
    var answer = 0
    var num = 1

    while (num <= n){
        if(n % num == 1){
            answer = num
            break
        }
        num++
    }
    return answer

}

0개의 댓글