ลำดับ Euro-iginal


14

กำหนดจำนวนเต็มบวกnเอาท์พุทจำนวนn -th ของลำดับยูโร - เดิม

การคำนวณลำดับ

ลำดับนี้เท่ากับ OEIS A242491 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

อินพุตที่ใหญ่ที่สุดที่เป็นไปได้คืออะไร เรามีกรณีทดสอบที่ใหญ่กว่านี้ได้ไหม?
xnor

3
เราอาจทำดัชนีa(1)=1เหมือนตาราง oeis ได้ไหม
xnor

6
เราช่วยได้N<=512ไหม?
Stewie Griffin

@xnor หากยังคงส่งกลับ0สำหรับn=0เป็นของดี
Ian H.

เราสามารถส่งออกผลลัพธ์ 0 ดัชนีแทนที่จะเป็น 1 ดัชนีได้หรือไม่? ดังนั้นแทนที่จะ0->0; 1->1; 5->6; 20->25; 32->50; 511->888 1->0; 2->1; 6->6; 21->25; 33->50; 512->888
Kevin Cruijssen

คำตอบ:


12

เยลลี่ขนาด 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

Husk , 8 7 5 ไบต์

Σ!Ṗİ€

ลองออนไลน์! แก้ไข: -3 ไบต์ขอบคุณ 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

ฉันได้ยินมาว่ามีการวางแผนที่จะเปลี่ยนİ€ลำดับที่แน่นอน[0.01,0.02,0.05,0.1,0.2,0.5,1,2,5,10,...,500]ในอนาคต เมื่อดำเนินการแล้วรหัสต่อไปนี้ควรใช้งานได้นับไบต์เป็น 7:

Σ!Ṗ↓6İ€

โดยที่↓6ลดลงหกองค์ประกอบแรกของลำดับ ลองออนไลน์!


มันตั้งใจจะให้โปรแกรมเพิ่ม 2 0s ไปยังเอาต์พุตหรือไม่?
Ian H.

Σ!Ṗ↑9İ€ควรบันทึกไบต์
Zgarb

@IanH โปรแกรมแรกสร้างเอาต์พุตที่ถูกต้อง ลิงค์ TIO ที่สองจะใช้งานได้หลังจากที่İ€มีการเปลี่ยนแปลงการใช้งาน ว่าตอนนี้มันกลับมา2500แทนที่จะ25เป็นเรื่องบังเอิญ
Laikoni

@Zgarb ขอบคุณมาก!
Laikoni

1
ฉันคิดว่าคุณยังสามารถลบ↑9เนื่องจากข้อความท้าทายที่ไม่ได้พูดถึงสิ่งที่ควรจะเกิดขึ้นสำหรับปัจจัยการผลิตเกิน 512
Zgarb

6

Perl 5 , 29 ไบต์

28 รหัสไบต์ + 1 -pสำหรับ

ใช้การจัดทำดัชนีตาม 0

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

ลองออนไลน์!


ควรเป็นsprintf"%o",$_-1เพราะลำดับดัชนีจาก 1 เช่น2 -> 1ลำดับ OEIS
altough

สิ่งนี้ใช้การจัดทำดัชนี 0 ตามที่ได้รับอนุญาตจากคำถาม (หรืออย่างน้อย OPs ความคิดเห็นภายใต้คำถาม) ฉันมี-1จนกว่า OP ชี้แจง!
Dom Hastings

5

เยลลี่ 11 ไบต์

0Df9,4Ṇ$$#Ṫ

ลองออนไลน์!

ขอบคุณมากที่@Erik the Outgolferสำหรับความช่วยเหลือในการแชท!

คำอธิบาย

0Df9,4Ṇ $$ # Ṫ - ลิงก์ Monadic

0 # - รวบรวมการแข่งขัน N แรกเริ่มต้นจาก 0
 D - ตัวเลข
  f9,4 - ตัวกรอง - เก็บตัวเลขที่เป็น 9 หรือ 4 อัตราผลตอบแทน [] เมื่อไม่มี
      Ṇ - ไม่เป็นตรรกะ [] -> 1 (ความจริง) รายการที่ไม่ว่าง -> 0 (เท็จ)
          Ṫ - ป๊อปและส่งคืนองค์ประกอบสุดท้าย

3

Mathematica, 47 ไบต์

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

Mathematica, 48 ไบต์

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

-6 ไบต์จาก Martin Ender


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

3

Java 8, 28 26 ไบต์

0 การจัดทำดัชนี:

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

พอร์ตของคำตอบ Python 2ของ@xnor (ซึ่งเคยถูกลบออกไปดังนั้นคำตอบเดิม 1 ข้อที่มีดัชนีด้านล่าง)

ลองที่นี่


คำตอบเก่าที่จัดทำดัชนี 1 ข้อ ( 28 ไบต์ ):

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

ท่าเรือ@Tfeld 's งูหลาม 2 คำตอบก่อนที่เขาจะทำให้การแก้ไขครั้งสุดท้ายของเขา แทนที่จะใช้~-จำนวนครั้งมัน--nจะลดลงn1 ทันทีหลังจากเข้าสู่ฟังก์ชั่นแลมบ์ดา

ลองที่นี่


3

05AB1E , 7 ไบต์

0 การจัดทำดัชนี

คำตอบของเยลลี่ Port of Mr. Xcoder

µN7nÃg_

ลองออนไลน์!

คำอธิบาย

µ          # 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

ดีมากดูเหมือนว่า 05AB1E เป็นเครื่องมือที่ดีที่สุดสำหรับอัลกอริทึมของฉัน :-) วิธีการ arithmagic ของเดนนิสทำให้คุณได้ 9 (อาจเป็นกอล์ฟ) ไบต์: 8в4‰ε5β}J(ดัชนี 0)
Mr. Xcoder

@ Mr.Xcoder: ฉันมี8в4‰J5öJเคล็ดลับ 8 ข้อสำหรับเดนนิส คุณเหมาะกว่าสำหรับ 05AB1E แน่นอน :)
Emigna

2

Python 2 , 40 38 36 ไบต์

แรงบันดาลใจจากคำตอบของ xnorแต่ใช้การจัดทำดัชนี 1 รายการ

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

ลองออนไลน์!

Python 2 , 78 65 62 61 58 56 ไบต์

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

ลองออนไลน์!



มีเหตุผล @xnor ลบคำตอบของเขาหรือไม่เพราะดูเหมือนว่าจะใช้กับฉันได้ทั้งหมด .. : S
Kevin Cruijssen

1
@KevinCruijssen ฉันได้ยกเลิกการลบตอนนี้ผู้ถามตอบว่าa(1)=1ได้อนุญาตให้เปลี่ยนดัชนีไปแล้ว
xnor

2

เยลลี่ 15 ไบต์

0 การจัดทำดัชนี

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

ลองออนไลน์!

คำอธิบาย

นี้จะตามออกวิธีการแก้ปัญหาของงูหลาม XNORที่อัลกอริทึม+ n n / 4 + n / 32 * 10 + n

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

เนื่องจากnแรกไม่มีการแก้ไขนี่เป็นเช่นเดียวกับ:

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

ตั้งแต่ 4, 32 และ 256 เป็นพลังทั้งหมดของสองพวกเขาสามารถแปลเป็นบิตกะ

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

golfiness แปลได้ไม่ดีนักใน Python แต่การเปลี่ยนรายการให้เป็นสตริงของดัชนีโค้ดหน้าวุ้นจะช่วยลดจำนวนไบต์ของ 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

เยลลี่ 24 ไบต์

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

ลองออนไลน์!


1
+1 ที่มีในรหัสของคุณ :) แต่ -1 เพราะนี่เป็นครั้งแรกที่คำตอบของ Jelly นั้นยาวกว่าคำตอบ Java ของฉัน XD อัปยศกับคุณ (และ gl & hf เล่นกอล์ฟมันเพิ่มเติม) ;)
Kevin Cruijssen

1
@KevinCruijssen นี้จะสร้างความหายนะในการจัดอันดับอีโล
xnor

@KevinCrujissen บิตดีขึ้นตอนนี้หรือไม่ : P
เต็มเปาโดยมนุษย์

1
@icrieverytim คุณพิมพ์ผิดในชื่อของฉันดังนั้นฉันจึงไม่ได้รับการอัญเชิญ แต่ใช่ดีกว่ามาก :) +1 จากฉัน
Kevin Cruijssen

2

อ็อกเทฟ 59 ไบต์

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

ลองออนไลน์!

คำอธิบาย

รหัสจะสร้างลำดับแบบเต็มจากนั้นทำดัชนีลงไป

ครั้งแรกที่แสดงออกไบนารีของตัวเลข0, 1... 511ถูกสร้างขึ้นเป็น 512 × 9 เมทริกซ์:

dec2bin(0:511)-48

( -48ส่วนที่จำเป็นเพราะผลของการdec2binเป็นตัวละครไม่ใช่ตัวเลข) สิ่งนี้จะช่วยให้

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

จากนั้นผลิตภัณฑ์ Kronecker ของ[1 2 5]และ[1 10 100]ถูกคำนวณ

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

และ transposed

'

ซึ่งให้ค่ายูโรที่เป็นไปได้เก้าค่าเป็นเวกเตอร์ 9 × 1:

1
2
5
10
20
50
100
200
500

เมทริกซ์คูณเมทริกซ์ข้างบนและเวกเตอร์

*

ให้เวกเตอร์ 512 × 1 มีตัวเลขที่เป็นไปได้ทั้งหมดตามลำดับโดยมีการทำซ้ำและไม่เรียงลำดับ:

  0
500
 50
...
388
888

ซ้ำซ้อนและการเรียงลำดับ

unique(...)

ให้ลำดับเต็ม:

  0
  1
  2
...
887
888

ในที่สุดอินพุตจะใช้เพื่อจัดทำดัชนีตามลำดับนี้

(n)

ในการผลิตผลผลิต


2

Ruby , 28 27 ไบต์

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

ลองออนไลน์!

คำอธิบาย

สายอักขระออกแปดแทนตัวเลข 4..7 ด้วย 5..8


ฉันคิดว่าคุณสามารถลบช่องว่างหลังจาก. tr สำหรับ -1
Snack


1

05AB1E , 20 ไบต์

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

ลองออนไลน์!


1 จัดทำดัชนีโดยใช้สูตรของ[(n%3)^2 + 1]*10^floor(n/3)การสร้างเงื่อนไขที่ 10 ก่อนแล้วใช้ powerset การคำนวณรวมกันได้ทั้งหมด ... a[b]แล้วฉันจะจัดเรียงมันและดึง


ดูการทำงานด้านล่าง:

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 ไบต์

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

หรือ 32 ไบต์โดยใช้การจัดทำดัชนี 0 ที่ถูกต้อง:

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
ไม่ควรn=1ให้0?
Ayb4btu

0

เยลลี่ , 20 ไบต์

53b6×þ“¢½d‘FŒPS€Ṣị@‘

ลองออนไลน์!

ฉันรู้ว่านี่นานกว่าคำตอบที่มีอยู่ แต่ฉันคิดว่าวิธีการนี้สามารถเล่นกอล์ฟได้จากที่นี่: P

-2 ไบต์ขอบคุณ Erik the Outgolfer


1,10,ȷ2->“¢½d‘
Erik the Outgolfer

@EriktheOutgolfer โอ้ขอบคุณมาก!
HyperNeutrino

0

เรติน่า 42 ไบต์

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

ลองออนไลน์! ลิงก์มีกรณีทดสอบ 0 การจัดทำดัชนี คำอธิบาย:

.+
$*1;

แปลงจากทศนิยมเป็น unary ด้วย;คำต่อท้าย

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

แปลงเป็นฐานแปด แต่ยังคงใช้การแทนค่าตัวเลขด้วยค่า;หลังแต่ละค่า

1111
1$&

เพิ่ม 1 เข้ากับค่า 4-7

(1*);
$.1

แปลงแต่ละค่าพร้อมส่วนต่อท้ายเป็นทศนิยม



0

C , 67 ไบต์

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

พอร์ตโดยตรงจากคำตอบ JavaScript ของ Neil แต่ฉันคิดว่าควรเพิ่มสิ่งนี้เพื่อความสมบูรณ์


ทดสอบกับ GCC เวอร์ชั่น 6.3.0 มันจะโยนคำเตือนบางส่วน แต่รวบรวมต่อไป

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.