추가 숫자 게임
2 개의 정수 매개 변수 정수 매개 변수 또는 정수 변수 , 시작 번호 및 최대 반복 횟수 를 취하는 함수 / 프로그램을 작성하십시오 . 코드는 다음 게임 예제를 수행하여 새 숫자를 구성하고 숫자가 한 자리 왼쪽이 될 때까지 반복해야합니다. 예.
3 7 2 = (3 + 7) & (7 + 2) = 10 9
1 0 9 = (1 + 0) & (0 + 9) = 1 9
1 9 = (1 + 9) = 10
1 0 = (1 + 0) = 1
기본적으로 각 개별 숫자를 가져 와서 이웃에 추가 한 다음 다음 추가 결과를 추가합니다.
최대 반복 횟수는 무한 루프를 보호하는 것이며 최대 값에 도달하면 코드는 마지막 5 개의 숫자 단계를 덤프해야합니다. 한 자리수에 도달하여 마무리 할 때 동일한 출력이 발생합니다. 5 단계 미만이 발생하면 유효한 숫자 만 출력하십시오.
Step: Number
완료되거나 종료 된 단계의 마지막 5 단계를 포함하여 출력이 ( ) 와 같이 나타납니다 .
func(3541, 50)
이 정확한 출력 형식을 생성합니다.
6: 1411
7: 552
8: 107
9: 17
10: 8
func(3541, 5)
생산 :
1: 895
2: 1714
3: 885
4: 1613
5: 774
전체 계산은 다음과 같습니다.
1: 895
2: 1714
3: 885
4: 1613
5: 774
6: 1411
7: 552
8: 107
9: 17
10: 8
5 단계 미만인 경우 수행 한 단계를 인쇄하십시오.
내장 라이브러리 만 사용하면 어디에서나 매개 변수를 선택할 수 있습니다 (원하는 언어에 가장 쉬운 방법). 최대 정수 크기에 제한이 없으며 오버플로가 있으면 충돌합니다.
이것이 퍼즐 관점에서 그리 어렵지 않다는 것을 감안할 때, 나는 8PM (UTC + 8) 8시 (UTC + 8)까지 수락 된 답변에 대한 제출물을 제출할 것입니다.이 시점에서 가장 짧은 언어가 승자가 될 것입니다.
편집하다:
48 GolfScript 답변 으로 하워드에게 축하를 전합니다 .
66 APL 답변 2 위의 마리 누스에 대한 특별 언급 .
내가 개인적으로 좋아하는 (JavaScript에 편향되어 있음)은 core1024의 답변 이었습니다.
func(3541, 5)
5 단계 또는 10 단계를 인쇄해야합니까?