도전:
인덱스 정수 감안할 때 n
, 중 출력 n
순서 최대 인덱스를 포함하여이 순서의 ‘일 항목 또는 출력 n
:
25,25,7,28,29,20,21,22,23,14,35,26,7,28,29,20,16,29,12,15,28,21,14,17,30,13,16,29,12,15,28,21,10,6,12,18,15,11,7,13,19,17,13,9,15,21,18,14,10,16,22,19,15,11,17,23,20,16,12,18,24,21,17,13,19,25,23,19,15,21,27,24,20,16,22,28,25,21,17,23,29,16,13,9,15,21,18,14,10,16,22,20,16,12,18,24,21,17,13,19
이 순서는 어떻게 작동합니까?
참고 :이 설명에서 인덱스 n
는 1 인덱스입니다.
숫자 넣어 1
통해 x
길이의 두 라인에 n*6 - 1
, x
의 숫자 합계 후 현재 반복 사용 된 번호의 길이에 의존하고, n
이들 두 줄의 “일 / 가장 오른쪽 올림픽 반지.
시퀀스의 첫 번째 숫자는 다음과 같이 계산됩니다.
The length of the lines are 5 (because 1*6 - 1 = 5):
12345
67891(0)
Then leave the digits in an Olympic Rings pattern:
1 3 5
7 9
And sum them:
1+3+5+7+9 = 25
그래서 n=1
결과 25
.
시퀀스의 두 번째 숫자는 다음과 같이 계산됩니다.
The length of the lines are 11 (because 2*6 - 1 = 11):
12345678910
11121314151(6)
Then leave the digits in the second/right-most Olympic Rings pattern:
7 9 0
4 5
And sum them:
7+9+0+4+5 = 25
그래서 n=2
결과 25
.
시퀀스의 세 번째 숫자는 다음과 같이 계산됩니다.
The length of the lines are 17 (because 3*6 - 1 = 17):
12345678910111213
14151617181920212(2)
Then leave the digits in the third/right-most Olympic Rings pattern:
1 2 3
0 1
And sum them:
1+2+3+0+1 = 7
그래서 n=3
결과 7
.
기타
도전 규칙 :
- 때 출력
n
‘순서 번째 항목이, 대신 1 인덱스의 0 인덱스로 입력을 할 수 있지만,의 계산이 있음을 염두에 두어야하는n*6 - 1
다음이 될 것(n+1)*6 - 1
나(n+1)*5 + n
. - 길이에 도달하면 첫 번째 줄의 끝에서 두 자리 이상의 단일 숫자를 나눌 수 있으므로
n*5 + n-1
두 개 이상의 숫자가있는 숫자는 부분적으로 1 행의 후미 부분이 될 수 있습니다. 2 행의 앞 부분
일반 규칙:
- 이것은 code-golf 이므로 바이트 단위의 최단 답변이 이깁니다.
코드 골프 언어가 코드 골프 언어 이외의 언어로 답변을 게시하지 못하게하십시오. ‘모든’프로그래밍 언어에 대한 가능한 한 짧은 대답을 생각해보십시오. - 표준 규칙이 답변에 적용 되므로 STDIN / STDOUT, 적절한 매개 변수 및 리턴 유형의 전체 프로그램과 함께 함수 / 방법을 사용할 수 있습니다. 당신의 전화.
- 기본 허점 은 금지되어 있습니다.
- 가능하면 코드 테스트 링크를 추가하십시오.
- 또한 필요한 경우 설명을 추가하십시오.
테스트 사례 :
다음은 테스트 사례 1-1,000의 붙여 넣기 저장소 이므로 자유롭게 선택할 수 있습니다.
몇 가지 더 높은 테스트 사례 :
1010: 24
1011: 24
2500: 19
5000: 23
7500: 8
10000: 8
100000: 25
답변
껍질 , 16 바이트
ΣĊ2ṁ↑_5↑2CṁdN←*6
H.PWiz 덕분에 -3 바이트 .
(빨강) 설명 :
ΣĊ2ṁ↑_5↑2CṁdN←*6⁰
Σ Sum
Ċ2 Drop every second element
ṁ↑_5 Map "take last 5 elements", then concatenate
↑2 Take first 2 elements
C Cut x into sublists of length y
ṁdN [1,2,3,4,5,6,7,8,9,1,0,1,1,1,2,1,3,...] (x)
← Decrement (y)
*6 Multiply with 6
⁰ First argument
답변
망막 , 70 68 62 바이트
.+
10**
.
$.>`
~(`.+
6*$+*
)`.(.+)
L`.{$.1}
%,-6`.
,2,9`.
*
_
설명
입력 n을 호출 3
하면 예제로 사용하겠습니다 .
.+
10**
는 10**
짧은에 대한 10*$&*_
어떤의 문자열 입력을 대체 10N의 밑줄.
.
$.>`
이제 각 밑줄을 밑줄을 포함하여 문자열의 길이로 바꿉니다. 따라서 이것은 단지 1 에서 10n 까지의 숫자가 모두 함께 연결됩니다 ( 10n 은 항상 필요한 길이의 두 줄을 채우기에 충분합니다).
~(`.+
6*$+*
평가! 이 단계와 다음 단계는 다른 프로그램의 소스 코드를 생성 한 다음 연결된 정수 문자열에 대해 실행됩니다.
해당 프로그램을 생성하기 위해이 단계는 먼저 정수를 6n 밑줄로 바꿉니다 ( $+
프로그램의 원래 입력 참조).
)`.(.+)
L`.{$.1}
로 그 다음 그 밑줄을 대체 L`.{…}
어디에 …
이다 6N-1 (선 우리가보고있는 길이). 그래서 우리는 정규 표현식을 생성했습니다. 정규 표현식은 수량자가 원래 입력에 따라 다릅니다.
이 프로그램이 평가되면 길이 6n-1의 청크와 일치 하며 그 중 두 개 이상이 있습니다. 예제 입력의 경우 다음 3
과 같이 끝납니다.
12345678910111213
14151617181920212
22324252627282930
이제 관련 숫자를 추출하면됩니다.
%,-6`.
먼저, 각 줄 ( %
)에서 마지막 5 자리 ( ,-6
)를 제외한 모든 숫자를 제거합니다 . 그게 우리에게
11213
20212
82930
드디어:
,2,9`.
*
단항 2
의 처음 10 자리 ( 9
, 이것은 0부터 시작 )의 다른 모든 숫자 ( )를 확장합니다 . 이들은 올림픽 링 포지션에있는 사람들입니다.
_
그리고 밑줄의 수를 세어 합산하고 결과를 10 진수로 변환합니다.
답변
파이썬 2 , 94 90 바이트
n=input()*6
s=''.join(map(str,range(n*2)))
print sum(map(int,s[n-5:n:2]+s[n*2-5:n*2-1:2]))
답변
Japt , 33 32 30 29 28 27 바이트
아, 이쁘지 않아요!
1 차 인덱스로 n 번째 항을 출력합니다 .
*6É
*2 õ ¬òU mt5n)¬¬ë2 ¯5 x
설명
:Implicit input of integer U :e.g., 3
*6É
*6 :Input times 6 :18
É :Subtract 1 :17
\n :Assign the above to variable U
*2 õ ¬òU mt5n)¬¬ë2 ¯5 x
*2 õ :[1,U*2] :[1,2,3,...,33,34]
¬ :Join to a string :"123...3334"
òU :Partitions of length U :["123...13","1415...212","22324...30","31323334"]
m :Map
t5n) : Get last 5 characters :["11213","20212","82930","23334"]
¬ :Join to a string :"11213202128293023334"
¬ :Split to an array :["1","1","2","1","3","2","0","2","1","2","8","2","9","3","0"],["2","3","3","3","4"]]
ë2 :Get every second element :["1","2","3","0","1","8","9","0","3","3"]
¯5 :Get first 5 elements :["1","2","3","0","1"]
x :Reduce by addition :7
:Implicit output of result
답변
파이썬 2 , 97 바이트
n=input()*6;k=1;s=''
exec's+=`k`;k+=1;'*n*2
print sum(int(s[p])for p in(n-2,n-4,n-6,n*2-4,n*2-6))
답변
파이썬 3, 129123 바이트
p=lambda r,x='',i=1:sum(map(int,str(x[6*r-2]+x[6*r-4]+x[6*r-6]+x[12*r-4]+x[12*r-6])))if len(x)>12*r-2else p(r,x+str(i),i+1)
이것은 꽤 엉망이지만 작동합니다.
답변
05AB1E , 22 21 20 바이트
6*<xLJsô2£íε5£}SāÉÏO
설명
6*< # push input*6-1
xL # leave it on the stack while pushing [1 ... 12*input-2]
J # join the numbers to a single string
sô # split the string into pieces of size input*6-1
2£ # take the first 2 such pieces
í # reverse each string
ε5£} # take the first 5 chars of each
S # split to a single list of digits
ā # push range [1 ... len(list)]
ÉÏ # keep only the numbers in the list of digits which are odd in this
O # sum
대체 21 바이트 접근
6*<©·LJƵYS24S®-ì®-(èO