본문 바로가기

JAVA/Practice Q

Q. N K

// 1. N에서 1을 뺍니다.
// 2. N을 K로 나눕니다.

//  N과 K가 주어질 때 N이 1이 될 때까지 1번 혹은 2번의 과정을 수행해야 하는 
//  최소 횟수를 구하는 프로그램을 작성하세요.
//
//  입력 조건 : 1 <= N <= 100000 , 2 <= K <= 100000 , N과 K는 자연수

 

// while

int n = 17;
int k = 4;
int count = 0;

while(n > 1) {

    if(n % k == 0) {
        n /= k;
        count++;
        continue;
    }else {
        n--;
        count++;
        continue;
    }

}
System.out.println(count);

 

// for

int count = 0;
for(int n = 19, k = 4 ; n > 1 ; count++) {

    if(n % k == 0) {
        n /= k;
        continue;
    }else {
        n--;
        continue;
    }

}
System.out.println(count);