728x90
반응형
숫자의 표현
수학을 공부하던 민지는 재미있는 사실을 발견하였습니다.
그 사실은 바로 연속된 자연수의 합으로 어떤 숫자를 표현하는 방법이 여러 가지라는 것입니다.
예를 들어, 15를 표현하는 방법은
숫자를 입력받아 연속된 수로 표현하는 방법을 반환하는 expressions 함수를 만들어 민지를 도와주세요. 예를 들어 15가 입력된다면 4를 반환해 주면 됩니다. public class Expressions { public static void main(String args[]) { }
(1+2+3+4+5)
(4+5+6)
(7+8)
(15)
로 총 4가지가 존재합니다.
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;
}
Expressions expressions = new Expressions();
System.out.println(expressions.expressions(15));
}
728x90
반응형
'프로그래밍 > 자바' 카테고리의 다른 글
[자바] 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 |