본문 바로가기
코딩테스트/백준

[백준] 단계별로 풀어보기 > while문 (c++)

by Hwan,. 2022. 1. 14.
728x90
반응형

문제 1. A+B - 5

#include <iostream>

using namespace std;

int main() {
    int a, b;

    while (true) {
        cin >> a >> b;

        if (a + b == 0) {
            break;
        }

        cout << a + b << endl;
    }
    
    return 0;
}

 

문제 2. A+B - 4

#include <iostream>

using namespace std;

int main() {
    int a, b;

    while (cin >> a >> b) {
        cout << a + b << endl;
    }
    
    return 0;
}

 

문제 3. 더하기 사이클

#include <iostream>

using namespace std;

void func(int a, int *front, int *back) {
    if (a < 10) {
        if(front) *front = 0;
        if(back) *back = a;
    }
    else {
        if (front) *front = a / 10;
        if (back) *back = a % 10;
    }
}

int main() {
    int a, b, cycle = 0;
    int front_a, back_a, back_b;

    cin >> a;
    b = a;

    do {
        func(b, &front_a, &back_a);
        func(front_a + back_a, NULL, &back_b);
        
        b = back_a * 10 + back_b;
        
        cycle++;
    } while (a != b);

    cout << cycle;

    return 0;
}

 

결과

728x90
반응형

댓글