[백준] 1407번 - 2로 몇 번 나누어질까 (C언어) [Gold4]
·
알고리즘
input1 output1 input2 output2 input3 output3 176 177 17 5 9 13 25 28 8 해당 문제는 자연수 N이 홀수인 경우와 짝수인 경우로 나누어 생각하면 쉽게 해결가능한 문제이다. 문제 해석 먼저 해보자. 홀수 인 경우 f(n) 의 값은 무조건 1이다. 짝수인 경우 f(2) = 2, f(4) =4, f(6) = 2 * f(3) ... 문제에서 원하는 수식의 값을 구해보자. S(n) = f(1) + f(2) + f(3) + ... + f(n-2) + f(n-1) + f(n) 이다. 점화식으로 표현하면 S(n) = S(b) + S(a-1) 이다. 다시 홀수 와 짝수의 경우로 알고리즘을 생각해보면 아래와 같다. if n % 2 == 0 f(n/2) = 1 // 짝수를..