bitCode

1092

삼각수의 판별하기

바른코드 0 제출 0 성공률 0.0%

출처 · cberi:1507

문제정보

1s 128MB

문제

삼각수는 1부터 시작해서 두 번째 수는 첫 번째 수에 2를 더한 3이 된다. 세 번째 수는 두 번째 수인 33을 더한 6이 된다.
*
**
***
위의 그림을 보면 첫 번째 수는 1, 두 번째 수는 1+2 = 3, 세 번째 수는 1+2+3 = 6이다. 자연수 n이 입력될 때 n이 삼각수라면 몇 번째 삼각수인지 출력하고, 삼각수가 아니라면 0을 출력하는 프로그램을 만드시오.

입력형식

첫 줄에 자연수 n가 입력됩니다. (2n5000)

출력형식

n이 삼각수라면 몇 번째 삼각수인지 출력하고 삼각수가 아니라면 0을 출력하시오.

힌트

n이 입력받은 수 d가 현재까지 계산한 수, c를 순서라고 합시다.
while(d<n){
    c++;
    d+=c;
}

와 같은 형태로 코드를 작성하면 됩니다. 이때 2가지 경우가 발생할 수 있습니다. dn이 정확하게 일치하는 경우와 dn보다 커지는 경우입니다. 만약 dn보다 커진다면 삼각수가 아니며, dn이 같다면 삼각수입니다.

예시 1

입력예시

50

출력예시

0