양의 정수 n이 주어지면 유로 이민 시퀀스 의 n 번째 숫자가 출력 됩니다.
시퀀스 계산
이 순서는 OEIS A242491 과 같습니다 .
많은 다른 유로 동전 또는 지폐를 사용하여 숫자를 구성 할 수 있지만 각 숫자 중 하나만 사용하여 숫자를 구성 할 수 있습니다 . 센트를 고려할 필요가 없습니다.
예:
6
순서는 1 유로 동전과 5 유로 지폐로 구성 될 수 있기 때문입니다.
4
주어진 요구 사항으로 구성 할 수 없으므로 순서에 있지 않습니다.
모든 사람에게 개요를 제공하기 위해 고려해야 할 유로 값 목록은 다음과 같습니다.
1 €, 2 €, 5 €, 10 €, 20 €, 50 €, 100 €, 200 €, 500 €
이 시퀀스의 범위는 0 (예, 0이 포함됨)에서 888까지입니다.
이 시퀀스의 처음 15 개 요소는 다음과 같습니다.
0, 1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 15, 16, 17, …
테스트 사례
입력 -> 출력
2 -> 1
6 -> 6
21 -> 25
33 -> 50
답변
젤리 , 7 바이트
b8d4ḅ5Ḍ
작동 원리
b8d4ḅ5Ḍ Main link. Argument: n (integer)
b8 Convert n from integer to base 8.
d4 Divmod each base-8 digit by 4, mapping the digit d to [d / 4, d % 4].
ḅ5 Convert the quotient-remainder pairs from base 5 to integer, mapping
[d / 4, d % 4] to (d / 4 * 5 + d % 4).
The last two steps establish the following mapping for octal digits.
0 -> [0, 0] -> 0
1 -> [0, 1] -> 1
2 -> [0, 2] -> 2
3 -> [0, 3] -> 3
4 -> [1, 0] -> 5
5 -> [1, 1] -> 6
6 -> [1, 2] -> 7
7 -> [1, 3] -> 8
Ḍ Convert the resulting array of digits from decimal to integer.
답변
답변
껍질 , 8 7 5 바이트
Σ!Ṗİ€
온라인으로 사용해보십시오! 편집 : Zgarb 덕분에 -3 바이트!
İ€ build-in infinite sequence [1,2,5,10,20,50,100,...]
Ṗ power set [[],[1],[2],[1,2],[5],[1,5],[2,5],[1,2,5],...]
! index into the list with given input, e.g. 4 yields [1,2]
Σ take the sum of that list
앞으로 İ€
유한 한 순서 로 변경 될 계획이라고 들었습니다 [0.01,0.02,0.05,0.1,0.2,0.5,1,2,5,10,...,500]
. 일단 구현되면 다음 코드는 7의 바이트 수로 작동합니다.
Σ!Ṗ↓6İ€
여기서 ↓6
시퀀스의 처음 6 개 요소를 삭제합니다.
온라인으로 사용해보십시오!
답변
답변
젤리 , 11 바이트
0Df9,4Ṇ$$#Ṫ
채팅에 많은 도움 을 주신 Outgolfer @Erik 에게 대단히 감사합니다 !
설명
0Df9,4Ṇ $$ # Ṫ-모나 딕 링크. 0 #-0부터 시작하여 처음 N 개의 일치 항목을 수집합니다. D-숫자. f9,4-필터-9 또는 4의 숫자를 유지합니다. 없을 경우 []를 산출합니다. Ṇ-논리 NOT. []-> 1 (거실), 비어 있지 않은 목록-> 0 (거짓). Ṫ-마지막 요소를 팝하고 반환합니다.
답변
수학, 47 바이트
(FromDigits/@0~Range~8~Drop~{5}~Tuples~3)[[#]]&
매스 매 티카, 48 바이트
Sort[Tr/@Subsets@Join[x={1,2,5},10x,100x]][[#]]&
Martin Ender에서 -6 바이트
답변
자바 8, 28 26 바이트
0 인덱스 :
n->n+n/4+n/32*10+n/256*100
@xnor 포트 의 Python 2 답변 삭제되었으므로 아래의 원래 1 인덱싱 답변).
오래된 1- 인덱스 답변 ( 28 바이트 ) :
n->--n+n/4+n/32*10+n/256*100
포트 @Tfeld 의 파이썬이 대답은 그는 마지막 편집을했다 전에 . 대신에 사용하는 ~-
시간의 무리, 그것을 사용 --n
감소n
람다 함수를 시작한 직후에 1 씩 합니다.