양의 정수 N이 주어지면 다음 알고리즘에 필요한 단계 수를 N 에 도달하는 것입니다 .
작은 삼각형 번호 찾기 T i가 되도록 T 내가 ≥ N을 . 해당 목록 L = [1, 2, ..., i]를 작성하십시오 .
L 항의 합 이 N 보다 큰 반면 목록에서 첫 번째 항을 제거합니다.
L 항의 합계 가 이제 N 보다 작은 경우 i를 증가 시키고리스트에 추가하십시오. 2 단계로 진행하십시오.
N 에 도달 하자마자 멈 춥니 다 . 첫 번째 단계 만 체계적으로 실행됩니다. 2 단계와 3 단계는 전혀 처리되지 않을 수 있습니다.
예
아래는 N = 11 의 예입니다 .
따라서 N = 11에 대한 예상 출력 은 4 입니다.
다른 예 :
- N = 5 - T 3 = 1 + 2 + 3 = 6 으로 시작하고 2 + 3 = 5로 시작 합니다. 예상 출력 : 2 .
- N = 10 - 때문에 첫 번째 단계가 필요하다 (10)는 삼각형의 개수이다 : T 4 = 1 + 2 + 3 + 4 = 10 . 예상 출력 : 1 .
처음 100 개 값
다음은 1 ≤ N ≤ 100에 대한 결과입니다 .
1, 2, 1, 4, 2, 1, 2, 10, 2, 1, 4, 2, 6, 2, 1, 22, 8, 2, 10, 2,
1, 2, 12, 6, 2, 4, 2, 1, 16, 2, 18, 50, 2, 6, 2, 1, 22, 6, 2, 4,
26, 2, 28, 2, 1, 8, 30, 16, 2, 6, 4, 2, 36, 2, 1, 2, 4, 12, 40, 2,
42, 14, 2,108, 2, 1, 46, 2, 6, 4, 50, 2, 52, 18, 2, 4, 2, 1, 56, 12,
2, 20, 60, 4, 2, 22, 10, 2, 66, 2, 1, 4, 10, 24, 2, 40, 72, 8, 2, 6
규칙
- 전체 프로그램 또는 함수를 작성하여 결과를 인쇄하거나 리턴 할 수 있습니다.
- 당신이있어 필요한 모든 처리하기 위해 N ≤ 65536을 미드 레인지 하드웨어에서 1 분 이내에.
- 충분한 시간이 주어지면 프로그램 / 기능 은 이론적 으로 사용자의 언어에서 기본적으로 지원되는 N 값에 대해 작동 해야합니다. 그렇지 않은 경우, 답변에 이유를 설명하십시오.
- 이것은 코드 골프이므로 바이트 단위의 최단 답변이 이깁니다!