도전:
0이 아닌 양의 정수를 입력하고 아래 설명 된 순서대로 다음 4 개의 숫자를 출력하는 프로그램을 작성하십시오.
참고 : 입력이 실제로 양의 0이 아닌 정수인지 확인하는 것은 필요하지 않습니다.
순서:
이 순서의 모든 숫자 (입력 된 첫 번째 숫자는 제외)는 n 자리로 구성되어야하며, 여기서 n은 짝수입니다. 숫자를 n / 2 쌍으로 나누면 각 쌍에 대해 첫 번째 숫자는 두 번째 숫자가 이전 숫자에 나타난 횟수 여야합니다.
시각적 설명 :
이 예제 "시퀀스 스타터"또는 입력 고려
입력에 1 "6", 1 "5"및 2 "7" 6577
이 있으므로 시퀀스의 다음 숫자는 다음과 같아야합니다 161527
.
입력에 너무 많은 자릿수 (한 자릿수의 9보다 많은 숫자)가 있으면 올바른 출력을 얻을 수 없습니다.
예 : 111111111111
(12 1)
다음 숫자는 12 1을 나타냅니다. 따라서 우리는 그것을 9 1과 3 1로 나눕니다 (sum 9 + 3 = 12)
다음 숫자 :9131
입력에 대해 4 번 반복하여 출력해야합니다 (4 개의 정수 목록 / 배열을 반환하거나 공백으로 구분하여 출력하면 줄 바꿈도 허용됩니다)
"숫자는 여러 가지 방법으로 쓸 수 있는데 어떻게 쓰나요?" :
당신이 그것에 대해 생각하면, 입력 예 6577
를 271516 (2 7, 1 5, 1 6)으로 쓸 수도 있습니다. 그러나 이것은 유효하지 않은 출력입니다. 왼쪽에서 오른쪽으로 숫자를 반복해야합니다. 7657
7의 양을 반복 한다면 6의 양과 5의 양을 반복하면 유효한 결과는 다음과 같습니다.271615
예제 I / O :
입력 : 75
출력 :1715 211715 12311715 4112131715
입력 : 1
출력 :11 21 1211 3112
입력 : 111111111111
(12 1)
출력 :9131 192113 31191213 23411912
: 시퀀스가 다르기 때문에이 질문을 "당신이 무엇을보고 말"달리 https://oeis.org/A005150 <-이 같은이 한 반환 번호 :
입력 : 1211 출력 : 111,221가
동안을 위해 부탁 해요 순서 할 것이다
입력 : 1211 출력 : 3112
두 시퀀스는 다르며 다른 알고리즘이 필요합니다.
요청한 순서 : https://oeis.org/A063850
"가능한 복제"순서 : https://oeis.org/A005150
중요한 사양 :
이 질문에 대답하려는 일부 사람들에게는 충분히 명확하지 않았으므로 k> 9가 "kc"가 아닌 (c는 char) 9c (k-9) c 등인 k 문자에 대한 올바른 출력입니다. 12 1은 121
(12 1)이 아니라 9131
(9 1, (12-9) 1 등)입니다.
확실하지 않은 경우, 코드가 홀수 자리수 (예 : 121)로 숫자를 출력하면 코드의 순서가 잘못되어 짝수 자리수를 출력해야합니다.
이것은 코드 골프 이므로 최소한의 바이트로 승리합니다.
23411912
대신 23411219
?
1111111111111111111