문제정보
1s 128MB
문제
삼각수는 1부터 시작해서 두 번째 수는 첫 번째 수에 2를 더한 3이 된다. 세 번째 수는 두 번째 수인 3에 3을 더한 6이 된다.
*
**
***
위의 그림을 보면 첫 번째 수는 1, 두 번째 수는 1+2 = 3, 세 번째 수는 1+2+3 = 6이다. 자연수 n이 입력될 때 n이 삼각수라면 몇 번째 삼각수인지 출력하고, 삼각수가 아니라면 0을 출력하는 프로그램을 만드시오.
*
**
***
위의 그림을 보면 첫 번째 수는 1, 두 번째 수는 1+2 = 3, 세 번째 수는 1+2+3 = 6이다. 자연수 n이 입력될 때 n이 삼각수라면 몇 번째 삼각수인지 출력하고, 삼각수가 아니라면 0을 출력하는 프로그램을 만드시오.
입력형식
첫 줄에 자연수 n가 입력됩니다. (2≦n≦5000)
출력형식
n이 삼각수라면 몇 번째 삼각수인지 출력하고 삼각수가 아니라면 0을 출력하시오.
힌트
n이 입력받은 수 d가 현재까지 계산한 수, c를 순서라고 합시다.
와 같은 형태로 코드를 작성하면 됩니다. 이때 2가지 경우가 발생할 수 있습니다. d와 n이 정확하게 일치하는 경우와 d가 n보다 커지는 경우입니다. 만약 d가 n보다 커진다면 삼각수가 아니며, d와 n이 같다면 삼각수입니다.
while(d<n){
c++;
d+=c;
}
와 같은 형태로 코드를 작성하면 됩니다. 이때 2가지 경우가 발생할 수 있습니다. d와 n이 정확하게 일치하는 경우와 d가 n보다 커지는 경우입니다. 만약 d가 n보다 커진다면 삼각수가 아니며, d와 n이 같다면 삼각수입니다.
예시 1
입력예시
50
출력예시
0