유로 이민자 시퀀스 개요를 제공하기 위해 고려해야 할 유로

양의 정수 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.

답변

파이썬 2 , 32 바이트

lambda n:n+n/4+n/32*10+n/256*100

온라인으로 사용해보십시오!


파이썬 2 , 34 바이트

f=lambda n:n and 10*f(n/8)+n%8*5/4

온라인으로 사용해보십시오!


답변

껍질 , 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 개 요소를 삭제합니다.
온라인으로 사용해보십시오!


답변

펄 5 , 29 바이트

28 바이트 코드 + 1 -p.

0 기반 인덱싱을 사용합니다.

$_=sprintf"%o",$_;y/4-7/5-8/

온라인으로 사용해보십시오!


답변

젤리 , 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 씩 합니다.

여기에서 시도하십시오.