[C++] 프로그래머스

[코딩테스트 입문] 세균 증식

말랑고래 2022. 10. 14. 21:49

<문제>

어떤 세균은 1시간에 두배만큼 증식한다고 합니다. 처음 세균의 마리수 n과 경과한 시간 t가 매개변수로 주어질 때 t시간 후 세균의 수를 return하도록 solution 함수를 완성해주세요.

 

<유형>

반복문, 수식(거듭 제곱)

 

<답>

먼저, 이 문제는 거듭제곱인 pow()함수를 쓰면 쉽게 풀 수 있다.

c++인 라이브러리 <cmath>를 사용하면 되지만, 굳이 라이브러리를 쓰고 싶지 않았기 때문에 머리를 굴렸다.

t번까지 곱셈을 반복하면 된다.

#include <string>
#include <vector>
//#include <cmath>

using namespace std;

int solution(int n, int t) {
    int answer = 0;
    answer = n;
    for(int i = 1; i <= t; i ++){
        answer *= 2; 
    }
    return answer;
}