Một chuỗi Euro-iginal


14

Cho một số nguyên dương n đầu ra số thứ n của chuỗi euro-iginal.

Tính toán trình tự

Trình tự này bằng với OEIS A242491 .

Một số là một phần của chuỗi đã nói nếu số đó có thể được tạo thành bằng cách sử dụng nhiều đồng xu hoặc ghi chú euro khác nhau, nhưng chỉ một trong số đó . Lưu ý rằng bạn không phải xem xét xu.

Thí dụ:

6 sẽ theo trình tự, vì nó có thể bao gồm đồng xu 1 euro và tờ 5 euro.

4 sẽ KHÔNG theo trình tự, vì nó không thể được hình thành với các yêu cầu nhất định.

Để cung cấp cho mọi người một cái nhìn tổng quan, đây là một danh sách với các giá trị đồng euro bạn phải xem xét:

1 €, 2 €, 5 €, 10 €, 20 €, 50 €, 100 €, 200 €, 500 €

Lưu ý rằng chuỗi này chỉ nằm trong khoảng từ 0 (có, 0 được bao gồm!) Đến 888.


Dưới đây là 15 yếu tố đầu tiên của chuỗi này:

0, 1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 15, 16, 17, ...

Các trường hợp thử nghiệm

Đầu vào -> Đầu ra

2 -> 1
6 -> 6
21 -> 25
33 -> 50

Đầu vào lớn nhất có thể là gì? Chúng ta có thể có một số trường hợp thử nghiệm lớn hơn?
xnor

3
Chớ gì chúng ta chỉ như a(1)=1như bảng oeis ?
xnor

6
Chúng ta có thể giả định N<=512?
Stewie Griffin

@xnor Nếu nó vẫn trả về 0cho n=0nó tốt.
Ian H.

Chúng ta có thể xuất kết quả 0 chỉ mục thay vì 1 chỉ mục không? Vì vậy, 0->0; 1->1; 5->6; 20->25; 32->50; 511->888thay vì 1->0; 2->1; 6->6; 21->25; 33->50; 512->888.
Kevin Cruijssen

Câu trả lời:


12

Thạch , 7 byte

b8d4ḅ5Ḍ

Hãy thử trực tuyến!

Làm thế nào nó hoạt động

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

Husk , 8 7 5 byte

Σ!Ṗİ€

Hãy thử trực tuyến! Chỉnh sửa: -3 byte nhờ Zgarb!

   ݀   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

Tôi nghe nói rằng nó được lên kế hoạch để thay đổi İ€trình tự hữu hạn [0.01,0.02,0.05,0.1,0.2,0.5,1,2,5,10,...,500]trong tương lai. Khi được triển khai, đoạn mã sau sẽ hoạt động với số lượng byte là 7:

Σ!Ṗ↓6İ€

trong đó ↓6giảm sáu yếu tố đầu tiên của chuỗi. Hãy thử trực tuyến!


Có dự định rằng chương trình thêm 2 0s vào đầu ra?
Ian H.

Σ!Ṗ↑9İ€nên lưu một byte.
Zgarb

@IanH. Chương trình đầu tiên tạo ra đầu ra chính xác. Liên kết TIO thứ hai sẽ chỉ hoạt động sau khi việc triển khai İ€đã được thay đổi. Rằng nó hiện đang trở lại 2500thay vì 25chỉ là một sự trùng hợp ngẫu nhiên.
Laikoni

@Zgarb Cảm ơn rất nhiều!
Laikoni

1
Tôi nghĩ bạn cũng có thể xóa ↑9, vì văn bản thách thức không đề cập đến những gì sẽ xảy ra đối với đầu vào ngoài 512.
Zgarb

6

Perl 5 , 29 byte

Mã 28 byte + 1 cho -p.

Sử dụng 0 chỉ mục dựa trên.

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

Hãy thử trực tuyến!


nên sprintf"%o",$_-1, vì trình tự được lập chỉ mục từ 1 chẳng hạn 2 -> 1, trình tự OEIS hoàn toàn bắt đầu bằng 1
Nahuel Fouilleul

Điều này sử dụng lập chỉ mục 0 khi được cho phép bởi câu hỏi (hoặc ít nhất, các bình luận của OP theo câu hỏi). Tôi đã có -1cho đến khi OP làm rõ!
Dom Hastings

5

Thạch , 11 byte

0Df9,4Ṇ$$#Ṫ

Hãy thử trực tuyến!

Cảm ơn rất nhiều đến @Erik the Outgolfer vì đã giúp đỡ rất nhiều trong trò chuyện!

Giải trình

0Df9,4Ṇ $$ # Ṫ - Liên kết đơn âm.

0 # - Thu thập N trận đấu đầu tiên, bắt đầu từ 0.
 D - Chữ số.
  f9,4 - Bộ lọc - Giữ các chữ số là 9 hoặc 4. Năng suất [] khi không có.
      - Logic KHÔNG. [] -> 1 (trung thực), danh sách không trống -> 0 (giả mạo).
          - Pop và trả lại phần tử cuối cùng.

3

Toán học, 47 byte

(FromDigits/@0~Range~8~Drop~{5}~Tuples~3)[[#]]&

Toán học, 48 byte

Sort[Tr/@Subsets@Join[x={1,2,5},10x,100x]][[#]]&   

-6 byte từ Martin Ender


1
Join[x={1,2,5},10x,100x]Subsets@.
Martin Ender

3

Java 8, 28 26 byte

Chỉ số 0:

n->n+n/4+n/32*10+n/256*100

Câu trả lời Python 2 của @xnor (đã từng bị xóa, do đó câu trả lời 1 chỉ mục ban đầu bên dưới).

Hãy thử nó ở đây.


Câu trả lời cũ 1 chỉ mục ( 28 byte ):

n->--n+n/4+n/32*10+n/256*100

Câu trả lời Python 2 của Port @Tfeld trước khi anh thực hiện lần chỉnh sửa cuối cùng . Thay vì sử dụng ~-một loạt các lần, nó sử dụng --nđể giảm n1 ngay sau khi vào chức năng lambda.

Hãy thử nó ở đây.


3

05AB1E , 7 byte

Chỉ số 0.

Cảng của ông Xcoder's Jelly trả lời

µN7nÃg_

Hãy thử trực tuyến!

Giải trình

µ          # loop over increasing N until input matches are found
      _    # the logical negation of
     g     # the length of
 N         # N
  7nà     # with only 4s and 9s kept

Thật tuyệt, có vẻ như 05AB1E là công cụ tốt nhất cho thuật toán của tôi :-). Cách tiếp cận arithmagic của Dennis sẽ giúp bạn có được 9 byte (có thể chơi được): 8в4‰ε5β}J(0-index)
Ông Xcoder

@ Mr.Xcoder: Tôi đã có 8в4‰J5öJ8 lần với thủ thuật của Dennis. Bạn thực sự phù hợp hơn với 05AB1E :)
Emigna

2

Python 2 , 40 38 36 byte

Lấy cảm hứng từ câu trả lời của xnor , nhưng sử dụng lập chỉ mục 1.

lambda n:~-n*5/4+~-n/32*10+n/257*100

Hãy thử trực tuyến!

Python 2 , 78 65 62 61 58 56 byte

lambda i,n=0:f(i+~-('4'in`n`or'9'in`n`),n+1)if i else~-n

Hãy thử trực tuyến!



Có lý do nào @xnor xóa câu trả lời của anh ấy không, bởi vì nó có vẻ hoàn toàn hợp lệ với tôi ..: S
Kevin Cruijssen

1
@KevinCruijssen Tôi đã hoàn tác nó ngay bây giờ khi người hỏi trả lời rằng việc chuyển chỉ mục sang a(1)=1được cho phép.
xnor

2

Thạch , 15 byte

Chỉ số 0.

滓£¦®‘ד¢½d‘S+

Hãy thử trực tuyến!

Giải trình

Điều này dựa trên giải pháp Python của xnor , trong đó thuật toán là n + n / 4 + n / 32 * 10 + n / 256 * 100 .

lambda n: sum(i * j for i, j in zip([n / i for i in [1, 4, 32, 256]], [1, 1, 10, 100]]))

n đầu tiên không được sửa đổi, điều này giống như:

lambda n: sum(i * j for i, j in zip([n / i for i in [4, 32, 256]], [1, 10, 100]])) + n

Vì 4, 32 và 256 đều là lũy thừa của hai, nên chúng có thể được dịch thành các bit bit.

lambda n: sum(i * j for i, j in zip([n >> i for i in [2, 5, 8]], [1, 10, 100]])) + n

Tính golf không dịch tốt trong Python, nhưng biến các danh sách thành các chuỗi chỉ số Jelly của các trang mã làm giảm số byte của Jelly.

lambda n: sum(i * j for i, j in zip([n >> i for i in map(jelly_codepage.index, '£¦®')], map(jelly_codepage.index, '¢½d'))) + n

Thạch , 24 byte

“¡¿ɼcÞµ³Ṡf2ż’bȷ3ŒPS€Ṣ
ị¢

Hãy thử trực tuyến!


1
+1 để có mã của bạn. :) Nhưng -1 vì đây là lần đầu tiên câu trả lời Jelly dài hơn câu trả lời Java của tôi. XD Xấu hổ về bạn (và gl & hf chơi gôn hơn nữa). ;)
Kevin Cruijssen

1
@KevinCruijssen Điều này sẽ tàn phá xếp hạng Elo .
xnor

@KevinCrujissen Bây giờ tốt hơn một chút? : P
hoàn toàn là

1
@icrieverytim Bạn đã đánh máy tên tôi, vì vậy tôi đã không nhận được giấy triệu tập. Nhưng vâng, tốt hơn rất nhiều. :) +1 từ tôi.
Kevin Cruijssen

2

Octave , 59 byte

@(n)unique((dec2bin(0:511)-48)*kron([1 2 5],10.^(0:2))')(n)

Hãy thử trực tuyến!

Giải trình

Mã tạo ra chuỗi đầy đủ và sau đó lập chỉ mục vào nó.

Đầu tiên, các từ ngữ nhị phân của những con số 0, 1, ... 511được tạo ra như một ma trận 512 × 9:

dec2bin(0:511)-48

( -48phần cần thiết vì kết quả dec2binlà ký tự, không phải số). Điều này mang lại

0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1
...
1 1 1 1 1 1 1 1 1

Sau đó, sản phẩm Kronecker của [1 2 5][1 10 100]được tính toán

kron([1 2 5],10.^(0:2))

và chuyển đổi

'

cung cấp chín giá trị đồng euro có thể dưới dạng vectơ 9 × 1:

1
2
5
10
20
50
100
200
500

Ma trận nhân với ma trận và vectơ trên

*

đưa ra một vectơ 512 × 1 chứa tất cả các số có thể có trong chuỗi, với sự lặp lại và chưa được sắp xếp:

  0
500
 50
...
388
888

Khử trùng và phân loại

unique(...)

đưa ra trình tự đầy đủ:

  0
  1
  2
...
887
888

Cuối cùng, đầu vào được sử dụng để lập chỉ mục trong chuỗi này

(n)

để sản xuất đầu ra.


2

Ruby , 28 27 byte

->x{("%o"%x).tr"4-7","5-8"}

Hãy thử trực tuyến!

Giải trình

Chuỗi bát phân đầu ra, thay thế các chữ số 4..7 bằng 5..8


Tôi nghĩ bạn có thể xóa khoảng trắng sau .tr cho -1
Snack


1

05AB1E , 20 byte

9LD3%n>s3/óTsm*æO{sè

Hãy thử trực tuyến!


1 chỉ mục, sử dụng công thức [(n%3)^2 + 1]*10^floor(n/3)để tạo 10 thuật ngữ đầu tiên, sau đó sử dụng powerset để tính toán tất cả các kết hợp có thể ... Sau đó, tôi sắp xếp nó và kéo a[b].


Xem nó trong hành động dưới đây:

Full program: 9LD3%n>s3/óTsm*æO{sè
current >> 9  ||  stack: []
current >> L  ||  stack: ['9']
current >> D  ||  stack: [[1, 2, 3, 4, 5, 6, 7, 8, 9]]
current >> 3  ||  stack: [[1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7, 8, 9]]
current >> %  ||  stack: [[1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7, 8, 9], '3']
current >> n  ||  stack: [[1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 0, 1, 2, 0, 1, 2, 0]]
current >> >  ||  stack: [[1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 4, 0, 1, 4, 0, 1, 4, 0]]
current >> s  ||  stack: [[1, 2, 3, 4, 5, 6, 7, 8, 9], [2, 5, 1, 2, 5, 1, 2, 5, 1]]
current >> 3  ||  stack: [[2, 5, 1, 2, 5, 1, 2, 5, 1], [1, 2, 3, 4, 5, 6, 7, 8, 9]]
current >> /  ||  stack: [[2, 5, 1, 2, 5, 1, 2, 5, 1], [1, 2, 3, 4, 5, 6, 7, 8, 9], '3']
current >> ó  ||  stack: [[2, 5, 1, 2, 5, 1, 2, 5, 1], [0.3333333333333333, 0.6666666666666666, 1.0, 1.3333333333333333, 1.6666666666666667, 2.0, 2.3333333333333335, 2.6666666666666665, 3.0]]
current >> T  ||  stack: [[2, 5, 1, 2, 5, 1, 2, 5, 1], [0, 0, 0, 1, 1, 1, 2, 2, 2]]
current >> s  ||  stack: [[2, 5, 1, 2, 5, 1, 2, 5, 1], [0, 0, 0, 1, 1, 1, 2, 2, 2], 10]
current >> m  ||  stack: [[2, 5, 1, 2, 5, 1, 2, 5, 1], 10, [0, 0, 0, 1, 1, 1, 2, 2, 2]]
current >> *  ||  stack: [[2, 5, 1, 2, 5, 1, 2, 5, 1], [1, 1, 1, 10, 10, 10, 100, 100, 100]]
current >> æ  ||  stack: [[2, 5, 1, 20, 50, 10, 200, 500, 100]]
current >> O  ||  stack: < OMITTED, THE RESULT OF POWERSET IS HUGE >
current >> {  ||  stack: [[0, 2, 5, 1, 20, 50, 10, 200, 500, 100, 7, 3, 22, 52, 12, 202, 502, 102, 6, 25, 55, 15, 205, 505, 105, 21, 51, 11, 201, 501, 101, 70, 30, 220, 520, 120, 60, 250, 550, 150, 210, 510, 110, 700, 300, 600, 8, 27, 57, 17, 207, 507, 107, 23, 53, 13, 203, 503, 103, 72, 32, 222, 522, 122, 62, 252, 552, 152, 212, 512, 112, 702, 302, 602, 26, 56, 16, 206, 506, 106, 75, 35, 225, 525, 125, 65, 255, 555, 155, 215, 515, 115, 705, 305, 605, 71, 31, 221, 521, 121, 61, 251, 551, 151, 211, 511, 111, 701, 301, 601, 80, 270, 570, 170, 230, 530, 130, 720, 320, 620, 260, 560, 160, 750, 350, 650, 710, 310, 610, 800, 28, 58, 18, 208, 508, 108, 77, 37, 227, 527, 127, 67, 257, 557, 157, 217, 517, 117, 707, 307, 607, 73, 33, 223, 523, 123, 63, 253, 553, 153, 213, 513, 113, 703, 303, 603, 82, 272, 572, 172, 232, 532, 132, 722, 322, 622, 262, 562, 162, 752, 352, 652, 712, 312, 612, 802, 76, 36, 226, 526, 126, 66, 256, 556, 156, 216, 516, 116, 706, 306, 606, 85, 275, 575, 175, 235, 535, 135, 725, 325, 625, 265, 565, 165, 755, 355, 655, 715, 315, 615, 805, 81, 271, 571, 171, 231, 531, 131, 721, 321, 621, 261, 561, 161, 751, 351, 651, 711, 311, 611, 801, 280, 580, 180, 770, 370, 670, 730, 330, 630, 820, 760, 360, 660, 850, 810, 78, 38, 228, 528, 128, 68, 258, 558, 158, 218, 518, 118, 708, 308, 608, 87, 277, 577, 177, 237, 537, 137, 727, 327, 627, 267, 567, 167, 757, 357, 657, 717, 317, 617, 807, 83, 273, 573, 173, 233, 533, 133, 723, 323, 623, 263, 563, 163, 753, 353, 653, 713, 313, 613, 803, 282, 582, 182, 772, 372, 672, 732, 332, 632, 822, 762, 362, 662, 852, 812, 86, 276, 576, 176, 236, 536, 136, 726, 326, 626, 266, 566, 166, 756, 356, 656, 716, 316, 616, 806, 285, 585, 185, 775, 375, 675, 735, 335, 635, 825, 765, 365, 665, 855, 815, 281, 581, 181, 771, 371, 671, 731, 331, 631, 821, 761, 361, 661, 851, 811, 780, 380, 680, 870, 830, 860, 88, 278, 578, 178, 238, 538, 138, 728, 328, 628, 268, 568, 168, 758, 358, 658, 718, 318, 618, 808, 287, 587, 187, 777, 377, 677, 737, 337, 637, 827, 767, 367, 667, 857, 817, 283, 583, 183, 773, 373, 673, 733, 333, 633, 823, 763, 363, 663, 853, 813, 782, 382, 682, 872, 832, 862, 286, 586, 186, 776, 376, 676, 736, 336, 636, 826, 766, 366, 666, 856, 816, 785, 385, 685, 875, 835, 865, 781, 381, 681, 871, 831, 861, 880, 288, 588, 188, 778, 378, 678, 738, 338, 638, 828, 768, 368, 668, 858, 818, 787, 387, 687, 877, 837, 867, 783, 383, 683, 873, 833, 863, 882, 786, 386, 686, 876, 836, 866, 885, 881, 788, 388, 688, 878, 838, 868, 887, 883, 886, 888]]
current >> s  ||  stack: [[0, 1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 15, 16, 17, 18, 20, 21, 22, 23, 25, 26, 27, 28, 30, 31, 32, 33, 35, 36, 37, 38, 50, 51, 52, 53, 55, 56, 57, 58, 60, 61, 62, 63, 65, 66, 67, 68, 70, 71, 72, 73, 75, 76, 77, 78, 80, 81, 82, 83, 85, 86, 87, 88, 100, 101, 102, 103, 105, 106, 107, 108, 110, 111, 112, 113, 115, 116, 117, 118, 120, 121, 122, 123, 125, 126, 127, 128, 130, 131, 132, 133, 135, 136, 137, 138, 150, 151, 152, 153, 155, 156, 157, 158, 160, 161, 162, 163, 165, 166, 167, 168, 170, 171, 172, 173, 175, 176, 177, 178, 180, 181, 182, 183, 185, 186, 187, 188, 200, 201, 202, 203, 205, 206, 207, 208, 210, 211, 212, 213, 215, 216, 217, 218, 220, 221, 222, 223, 225, 226, 227, 228, 230, 231, 232, 233, 235, 236, 237, 238, 250, 251, 252, 253, 255, 256, 257, 258, 260, 261, 262, 263, 265, 266, 267, 268, 270, 271, 272, 273, 275, 276, 277, 278, 280, 281, 282, 283, 285, 286, 287, 288, 300, 301, 302, 303, 305, 306, 307, 308, 310, 311, 312, 313, 315, 316, 317, 318, 320, 321, 322, 323, 325, 326, 327, 328, 330, 331, 332, 333, 335, 336, 337, 338, 350, 351, 352, 353, 355, 356, 357, 358, 360, 361, 362, 363, 365, 366, 367, 368, 370, 371, 372, 373, 375, 376, 377, 378, 380, 381, 382, 383, 385, 386, 387, 388, 500, 501, 502, 503, 505, 506, 507, 508, 510, 511, 512, 513, 515, 516, 517, 518, 520, 521, 522, 523, 525, 526, 527, 528, 530, 531, 532, 533, 535, 536, 537, 538, 550, 551, 552, 553, 555, 556, 557, 558, 560, 561, 562, 563, 565, 566, 567, 568, 570, 571, 572, 573, 575, 576, 577, 578, 580, 581, 582, 583, 585, 586, 587, 588, 600, 601, 602, 603, 605, 606, 607, 608, 610, 611, 612, 613, 615, 616, 617, 618, 620, 621, 622, 623, 625, 626, 627, 628, 630, 631, 632, 633, 635, 636, 637, 638, 650, 651, 652, 653, 655, 656, 657, 658, 660, 661, 662, 663, 665, 666, 667, 668, 670, 671, 672, 673, 675, 676, 677, 678, 680, 681, 682, 683, 685, 686, 687, 688, 700, 701, 702, 703, 705, 706, 707, 708, 710, 711, 712, 713, 715, 716, 717, 718, 720, 721, 722, 723, 725, 726, 727, 728, 730, 731, 732, 733, 735, 736, 737, 738, 750, 751, 752, 753, 755, 756, 757, 758, 760, 761, 762, 763, 765, 766, 767, 768, 770, 771, 772, 773, 775, 776, 777, 778, 780, 781, 782, 783, 785, 786, 787, 788, 800, 801, 802, 803, 805, 806, 807, 808, 810, 811, 812, 813, 815, 816, 817, 818, 820, 821, 822, 823, 825, 826, 827, 828, 830, 831, 832, 833, 835, 836, 837, 838, 850, 851, 852, 853, 855, 856, 857, 858, 860, 861, 862, 863, 865, 866, 867, 868, 870, 871, 872, 873, 875, 876, 877, 878, 880, 881, 882, 883, 885, 886, 887, 888]]
current >> è  ||  stack: [[0, 1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 15, 16, 17, 18, 20, 21, 22, 23, 25, 26, 27, 28, 30, 31, 32, 33, 35, 36, 37, 38, 50, 51, 52, 53, 55, 56, 57, 58, 60, 61, 62, 63, 65, 66, 67, 68, 70, 71, 72, 73, 75, 76, 77, 78, 80, 81, 82, 83, 85, 86, 87, 88, 100, 101, 102, 103, 105, 106, 107, 108, 110, 111, 112, 113, 115, 116, 117, 118, 120, 121, 122, 123, 125, 126, 127, 128, 130, 131, 132, 133, 135, 136, 137, 138, 150, 151, 152, 153, 155, 156, 157, 158, 160, 161, 162, 163, 165, 166, 167, 168, 170, 171, 172, 173, 175, 176, 177, 178, 180, 181, 182, 183, 185, 186, 187, 188, 200, 201, 202, 203, 205, 206, 207, 208, 210, 211, 212, 213, 215, 216, 217, 218, 220, 221, 222, 223, 225, 226, 227, 228, 230, 231, 232, 233, 235, 236, 237, 238, 250, 251, 252, 253, 255, 256, 257, 258, 260, 261, 262, 263, 265, 266, 267, 268, 270, 271, 272, 273, 275, 276, 277, 278, 280, 281, 282, 283, 285, 286, 287, 288, 300, 301, 302, 303, 305, 306, 307, 308, 310, 311, 312, 313, 315, 316, 317, 318, 320, 321, 322, 323, 325, 326, 327, 328, 330, 331, 332, 333, 335, 336, 337, 338, 350, 351, 352, 353, 355, 356, 357, 358, 360, 361, 362, 363, 365, 366, 367, 368, 370, 371, 372, 373, 375, 376, 377, 378, 380, 381, 382, 383, 385, 386, 387, 388, 500, 501, 502, 503, 505, 506, 507, 508, 510, 511, 512, 513, 515, 516, 517, 518, 520, 521, 522, 523, 525, 526, 527, 528, 530, 531, 532, 533, 535, 536, 537, 538, 550, 551, 552, 553, 555, 556, 557, 558, 560, 561, 562, 563, 565, 566, 567, 568, 570, 571, 572, 573, 575, 576, 577, 578, 580, 581, 582, 583, 585, 586, 587, 588, 600, 601, 602, 603, 605, 606, 607, 608, 610, 611, 612, 613, 615, 616, 617, 618, 620, 621, 622, 623, 625, 626, 627, 628, 630, 631, 632, 633, 635, 636, 637, 638, 650, 651, 652, 653, 655, 656, 657, 658, 660, 661, 662, 663, 665, 666, 667, 668, 670, 671, 672, 673, 675, 676, 677, 678, 680, 681, 682, 683, 685, 686, 687, 688, 700, 701, 702, 703, 705, 706, 707, 708, 710, 711, 712, 713, 715, 716, 717, 718, 720, 721, 722, 723, 725, 726, 727, 728, 730, 731, 732, 733, 735, 736, 737, 738, 750, 751, 752, 753, 755, 756, 757, 758, 760, 761, 762, 763, 765, 766, 767, 768, 770, 771, 772, 773, 775, 776, 777, 778, 780, 781, 782, 783, 785, 786, 787, 788, 800, 801, 802, 803, 805, 806, 807, 808, 810, 811, 812, 813, 815, 816, 817, 818, 820, 821, 822, 823, 825, 826, 827, 828, 830, 831, 832, 833, 835, 836, 837, 838, 850, 851, 852, 853, 855, 856, 857, 858, 860, 861, 862, 863, 865, 866, 867, 868, 870, 871, 872, 873, 875, 876, 877, 878, 880, 881, 882, 883, 885, 886, 887, 888], '32']
50
stack > [50]

0

JavaScript (ES6), 34 byte

n=>--n+(n>>2)+(n>>5)*10+(n>>8)*100

Hoặc 32 byte bằng cách sử dụng chỉ mục 0 chính xác:

f=
n=>n+(n>>2)+(n>>5)*10+(n>>8)*100
<input type=number min=0 max=511 value=0 oninput=o.textContent=f(+this.value)><pre id=o>0


2
Có nên n=1cho 0không?
Ayb4btu


0

Võng mạc , 42 byte

.+
$*1;
+`(1+)\1{7}
$1;
1111
1$&
(1*);
$.1

Hãy thử trực tuyến! Liên kết bao gồm các trường hợp thử nghiệm. Chỉ số 0. Giải trình:

.+
$*1;

Chuyển đổi từ thập phân sang unary, với một ;hậu tố.

+`(1+)\1{7}
$1;

Chuyển đổi sang bát phân, nhưng vẫn sử dụng biểu diễn đơn nhất của các chữ số với ;sau mỗi giá trị đơn nguyên.

1111
1$&

Thêm 1 vào các giá trị 4-7.

(1*);
$.1

Chuyển đổi từng giá trị cộng với hậu tố của nó thành số thập phân.



0

C , 67 byte

main(n){scanf("%d",&n);printf("%d",n+(n>>2)+(n>>5)*10+(n>>8)*100);}

Một cổng trực tiếp từ Neil's câu trả lời JavaScript , nhưng tôi nghĩ rằng điều này nên được thêm vào cho đầy đủ.


Đã thử nghiệm trên GCC phiên bản 6.3.0. Nó sẽ đưa ra một số cảnh báo, nhưng dù sao cũng sẽ biên dịch.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.