머리말
잘 알려진 캐롤 인 크리스마스의 십이 일 (Twelve Days of Christmas )에서 화자는 매일 여러 가지 선물을받습니다. 노래는 누적됩니다 -각 구절마다 새로운 선물이 추가되며 이전보다 선물보다 수량이 높습니다. 1 개의 파트 리지, 2 개의 거북이 비둘기, 3 명의 프랑스 암탉 등.
주어진 구절 N 에서 우리는 N 번째 4 면체 수 를 찾아서 지금까지 노래에서 선물의 누적 합계를 계산할 수 있으며 결과는 다음과 같습니다.
Verse 1: 1
Verse 2: 4
Verse 3: 10
Verse 4: 20
Verse 5: 35
Verse 6: 56
Verse 7: 84
Verse 8: 120
Verse 9: 165
Verse 10: 220
Verse 11: 286
Verse 12: 364
예를 들어, 4 절 후에 우리는 4 * (1 partridge) , 3 * (2 거북이 비둘기) , 2 * (3 프랑스 암탉) 및 1 * (4 새 호출)을 가졌습니다 . 이것들을 합하면 우리는 얻을 수 4(1) + 3(2) + 2(3) + 1(4) = 20
있습니다.
도전
당신의 임무는 364 ≥ p ≥ 1 의 선물 수를 나타내는 양의 정수가 주어지면 크리스마스의 요일 (절)을 결정 하는 프로그램이나 함수를 작성하는 것입니다.
예를 들어 p = 286 인 경우 우리는 크리스마스 11 일째입니다. 그러나 p = 287 이면 다음 번의 선물이 시작되어 12 일째입니다.
수학적으로 이것은 다음 4 면체 수를 찾고 전체 4 면체 수에서 해당 위치를 반환합니다.
규칙 :
- 이것은 code-golf 이므로 가장 짧은 솔루션 (바이트)이 이깁니다.
- 표준 골프 허점이 적용됩니다.
- 며칠이되면 프로그램은 1- 색인이어야합니다.
- 제출은 전체 프로그램 또는 기능이어야하지만 스 니펫은 아닙니다.
테스트 사례
1 -> 1
5 -> 3
75 -> 7
100 -> 8
220 -> 10
221 -> 11
364 -> 12
x=>{while(x>p)p+=r+=++i;return i}
, JavaScript와 같은 언어로 더 짧아 질 수 있다고 확신합니다.