숫자의 표현
수학을 공부하던 민지는 재미있는 사실을 발견하였습니다.
그 사실은 바로 연속된 자연수의 합으로 어떤 숫자를 표현하는 방법이 여러 가지라는 것입니다.
예를 들어, 15를 표현하는 방법은
(1+2+3+4+5)
(4+5+6)
(7+8)
(15)
로 총 4가지가 존재합니다.
숫자를 입력받아 연속된 수로 표현하는 방법을 반환하는 expressions 함수를 만들어 민지를 도와주세요.
예를 들어 15가 입력된다면 4를 반환해 주면 됩니다.
public class Expressions {
public int expressions(int num) {
int answer = 0;
int sum=0;
for(int i=1; i<=num/2; i++) {
for(int j=i; j<=num/2+1; j++) {
sum+=j;
if(sum==num) {
answer++;
continue;
}
if(sum>num)
continue;
}
sum=0;
}
return answer+1;
}
public static void main(String args[]) {
Expressions expressions = new Expressions();
System.out.println(expressions.expressions(15));
}
}
'프로그래밍 > 자바' 카테고리의 다른 글
[자바] N개의 최소공배수 (0) | 2018.04.04 |
---|---|
[자바] 멀리 뛰기 (0) | 2018.04.04 |
[자바] 하노이의 탑 (1) | 2018.04.03 |
[자바] 시저 암호 (0) | 2018.04.03 |
자바 String -> Int // string to int (0) | 2017.09.21 |