SMALL
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | /* 수학을 공부하던 민지는 재미있는 사실을 발견하였습니다. 그 사실은 바로 연속된 자연수의 합으로 어떤 숫자를 표현하는 방법이 여러 가지라는 것입니다. 예를 들어, 15를 표현하는 방법은 (1+2+3+4+5) (4+5+6) (7+8) (15) 로 총 4가지가 존재합니다. 숫자를 입력받아 연속된 수로 표현하는 방법을 반환하는 expressions 함수를 만들어 민지를 도와주세요. 예를 들어 15가 입력된다면 4를 반환해 주면 됩니다. */ #include<iostream> using namespace std; int expressions(int testCase) { int answer = 0; for (int i = 1 ; i * 2<= testCase+1; i++) { int tmp = 0; for (int c = i ; c <= testCase+1; c++) { tmp +=c; if(tmp == testCase) {answer +=1; break;} } } return answer+1; } int main() { int testNo = 15; int testAnswer = expressions(testNo); // 아래는 테스트로 출력해 보기 위한 코드입니다. cout<<testAnswer; } | cs |
LIST
'기타[etc] > 알고리즘' 카테고리의 다른 글
[알고리즘] DP-가장 큰 정사각형 찾기 (0) | 2018.03.23 |
---|---|
[백준] 동적기획법 - 피보나치 0과 1 세기 (0) | 2018.03.19 |
bfs, dfs 연습 (0) | 2017.09.14 |
[hackerrank]Get Node Value (0) | 2017.09.13 |
[hackerrank] Merge two sorted linked lists (0) | 2017.09.13 |