강의로 돌아가기
GBPark5579

c++ 반례좀 찾아주세요 7, 9, 27, 37번에서 틀리네요..

7, 9, 27, 37번에서 틀리는데 이유를 모르겠어요..

작성중인 코드―solution.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <cstdlib>

using namespace std;

int div(int n)
{
    return n/2 + n%2;
}

int solution(int n, int a, int b)
{
    int answer = 1;

    while(abs(a-b) != 1)
    {
        a = div(a);
        b = div(b);

        answer++;
    }

    return answer;
}
1 개의 답변
JoChaeWoo

총 네명이 있는 경기에서 A B가 각각 2, 3번 이라면 1과 2, 3과 4가 대결을 치룬 뒤 2라운드에서 만나게 됩니다.
하지만 while문의 abs(a-b) != 1조건은 위 상황에 만족하며 반복을 종료합니다.

  • GBPark5579

    아항 감사합니다

    GBPark5579―2023.06.18 13:08
  • 유대하

    오우 감사합니다

    유대하―2024.03.09 11:44
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다.