Eine euro-originale Sequenz


14

Bei einer positiven Ganzzahl n wird die n -te Zahl der Euro-Original-Folge ausgegeben.

Berechnung der Sequenz

Diese Sequenz entspricht OEIS A242491 .

Eine Zahl ist Teil dieser Folge, wenn die Zahl aus beliebig vielen verschiedenen Euro-Münzen oder -Noten zusammengesetzt werden kann, jedoch jeweils nur aus einer . Beachten Sie, dass Sie keine Cent berücksichtigen müssen.

Beispiel:

6 wäre in der folge, da es aus einer 1 euro münze und einer 5 euro note bestehen kann.

4 würde NICHT in der Reihenfolge sein, da es nicht mit den gegebenen Anforderungen gebildet werden kann.

Um jedem einen Überblick zu geben, finden Sie hier eine Liste mit Euro-Werten, die Sie berücksichtigen müssen:

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

Beachten Sie, dass diese Sequenz nur von 0 (ja, 0 ist enthalten!) Bis 888 reicht.


Hier sind die ersten 15 Elemente dieser Sequenz:

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

Testfälle

Eingabe -> Ausgabe

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

Was ist der größtmögliche Input? Können wir größere Testfälle haben?
Xnor

3
Dürfen wir als a(1)=1wie die Oeis-Tabelle indizieren ?
Xnor

6
Können wir uns einigen N<=512?
Stewie Griffin

@xnor Wenn es gibt nach wie vor 0für n=0sie in Ordnung.
Ian H.

Können wir die 0-indizierten Ergebnisse anstelle der 1-indizierten ausgeben? Also 0->0; 1->1; 5->6; 20->25; 32->50; 511->888statt 1->0; 2->1; 6->6; 21->25; 33->50; 512->888.
Kevin Cruijssen

Antworten:


12

Gelee , 7 Bytes

b8d4ḅ5Ḍ

Probieren Sie es online!

Wie es funktioniert

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

Schale , 8 7 5 Bytes

Σ!Ṗİ€

Probieren Sie es online! Edit: -3 Bytes dank 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

Ich habe gehört, dass es geplant ist, in Zukunft İ€auf die endliche Reihenfolge [0.01,0.02,0.05,0.1,0.2,0.5,1,2,5,10,...,500]umzustellen. Sobald dies implementiert ist, sollte der folgende Code eine Byteanzahl von 7 haben:

Σ!Ṗ↓6İ€

wo ↓6fällt die ersten sechs Elemente der Sequenz. Probieren Sie es online!


Ist es beabsichtigt, dass das Programm 2 0s zur Ausgabe hinzufügt ?
Ian H.

Σ!Ṗ↑9İ€sollte ein Byte speichern.
Zgarb

@IanH. Das erste Programm erzeugt die richtige Ausgabe. Die zweite TIO-Verbindung funktioniert erst, nachdem die Implementierung von İ€geändert wurde. Dass es zur Zeit zurückkehrt , 2500anstatt 25lediglich ein Zufall.
Laikoni

@ Zgarb Vielen Dank!
Laikoni

1
Ich denke, Sie können auch entfernen ↑9, da der Herausforderungstext nicht erwähnt, was für Eingaben über 512 passieren soll.
Zgarb

6

Perl 5 , 29 Bytes

28 Byte Code + 1 für -p.

Verwendet eine 0-basierte Indizierung.

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

Probieren Sie es online!


Sollte sein sprintf"%o",$_-1, weil die Sequenz zum Beispiel von 1 indexiert ist 2 -> 1, obwohl die OEIS-Sequenz mit 1 beginnt
Nahuel Fouilleul

Dabei wird die von der Frage zugelassene Indizierung 0 verwendet (oder zumindest die OP-Kommentare unter der Frage). Ich habe das -1bis OP geklärt!
Dom Hastings

5

Jelly , 11 Bytes

0Df9,4Ṇ$$#Ṫ

Probieren Sie es online!

Vielen Dank an @Erik the Outgolfer für viel Hilfe im Chat!

Erläuterung

0Df9,4Ṇ $$ # Ṫ - Monadischer Link.

0 # - Sammle die ersten N Matches, beginnend mit 0.
 D - Ziffern.
  f9,4 - Filter - Behalte die Ziffern 9 oder 4. Ergibt [], wenn es keine gibt.
      Ṇ - Logisches NICHT. [] -> 1 (wahr), nicht leere Liste -> 0 (falsch).
          Ṫ - Das letzte Element einfügen und zurückgeben.

3

Mathematica, 47 Bytes

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

Mathematica, 48 Bytes

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

-6 Bytes von Martin Ender


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

3

Java 8, 28 26 Bytes

0-indiziert:

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

Port von @xnors Python 2-Antwort (die früher gelöscht wurde, daher die ursprüngliche 1-indizierte Antwort unten).

Probieren Sie es hier aus.


Alte 1-indizierte Antwort ( 28 Bytes ):

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

Port von @Tfelds Python 2-Antwort, bevor er seine letzte Änderung vorgenommen hat . Anstatt ~-eine Reihe von Zeiten zu verwenden, wird sie direkt nach dem Aufrufen der Lambda-Funktion um 1 --nverringert n.

Probieren Sie es hier aus.


3

05AB1E , 7 Bytes

0-indiziert.

Port von Mr. Xcoders Gelee-Antwort

µN7nÃg_

Probieren Sie es online!

Erläuterung

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

Schön, es sieht so aus, als ob 05AB1E das beste Tool für meinen Algorithmus ist :-). Dennis 'arithmagischer Ansatz würde Ihnen 9 (möglicherweise golfbare) Bytes bringen: 8в4‰ε5β}J(0-indiziert)
Mr. Xcoder

@ Mr.Xcoder: Ich hatte 8в4‰J5öJfür 8 mit Dennis 'Trick. Ihre war in der Tat besser für 05AB1E geeignet :)
Emigna

2

Python 2 , 40 38 36 Bytes

Inspiriert von der Antwort von xnor , verwendet jedoch die 1-Indizierung.

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

Probieren Sie es online!

Python 2 , 78 65 62 61 58 56 Bytes

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

Probieren Sie es online!



Gibt es einen Grund, warum @xnor seine Antwort gelöscht hat, weil sie mir völlig gültig erscheint
?

1
@ KevinCruijssen Ich habe es jetzt wiederhergestellt, dass der Fragesteller geantwortet hat, dass das Verschieben der Indizierung auf a(1)=1zulässig ist.
Xnor

2

Gelee , 15 Bytes

0-indiziert.

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

Probieren Sie es online!

Erläuterung

Dies basiert auf der Python-Lösung von xnor , bei der der Algorithmus n + n / 4 + n / 32 * 10 + n / 256 * 100 ist .

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

Da das erste n unverändert ist, ist dies dasselbe wie:

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

Da 4, 32 und 256 Zweierpotenzen sind, können sie in Bitverschiebungen übersetzt werden.

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

Die Golffreundlichkeit lässt sich in Python nicht gut übersetzen, aber das Umwandeln der Listen in Jelly-Zeichenfolgen von Codepage-Indizes verringert die Byteanzahl von 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

Gelee , 24 Bytes

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

Probieren Sie es online!


1
+1 für den Code. :) Aber -1, weil dies das erste Mal ist, dass eine Gelee-Antwort länger ist als meine Java-Antwort. XD Schade um dich (und gl & hf golf es weiter). ;)
Kevin Cruijssen

1
@KevinCruijssen Dies wird die Elo-Ratings in Mitleidenschaft ziehen .
Xnor

@KevinCrujissen Jetzt ein bisschen besser? : P
Totalhuman

1
@icrieverytim Du hast in meinem Namen einen Tippfehler gemacht, also habe ich die Vorladung nicht bekommen. Aber viel besser. :) +1 von mir.
Kevin Cruijssen

2

Oktave , 59 Bytes

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

Probieren Sie es online!

Erläuterung

Der Code erstellt die vollständige Sequenz und indiziert sie anschließend.

Zuerst werden die binären Ausdrücke der Zahlen 0, 1, ... 511sind als 512 x 9 - Matrix generiert:

dec2bin(0:511)-48

(Der -48Teil wird benötigt, da das Ergebnis aus dec2binZeichen und nicht aus Zahlen besteht.) Das gibt

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

Dann wird das Kronecker-Produkt von [1 2 5]und [1 10 100]berechnet

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

und transponiert

'

Dies ergibt die neun möglichen Euro-Werte als 9 × 1-Vektor:

1
2
5
10
20
50
100
200
500

Matrix-Multiplikation der obigen Matrix und des Vektors

*

ergibt einen 512 × 1-Vektor mit allen möglichen Zahlen in der Folge, mit Wiederholungen und unsortiert:

  0
500
 50
...
388
888

Deduplizieren und Sortieren

unique(...)

gibt die vollständige Sequenz an:

  0
  1
  2
...
887
888

Schließlich wird die Eingabe verwendet, um diese Sequenz zu indizieren

(n)

um die Ausgabe zu erzeugen.


2

Ruby , 28 27 Bytes

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

Probieren Sie es online!

Erläuterung

Oktalzeichenfolge ausgeben, Ziffern 4..7 durch 5..8 ersetzen


Ich denke, Sie können das Leerzeichen nach .tr für -1
Snack


1

05AB1E , 20 Bytes

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

Probieren Sie es online!


1-indiziert, mit der Formel von [(n%3)^2 + 1]*10^floor(n/3), um die ersten 10 Terme zu generieren, dann mit Powerset, um alle möglichen Kombinationen zu berechnen ... Dann sortiere ich es und ziehe a[b].


Sehen Sie es in Aktion unten:

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

Oder 32 Bytes mit der richtigen 0-Indizierung:

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
Sollte nicht n=1geben 0?
Ayb4btu


0

Netzhaut , 42 Bytes

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

Probieren Sie es online! Link enthält Testfälle. 0-indiziert. Erläuterung:

.+
$*1;

Konvertiert von dezimal nach unär, mit einem ;Suffix.

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

In Oktal umwandeln, aber immer noch die unäre Darstellung der Ziffern mit ;nach jedem unären Wert verwenden.

1111
1$&

Addiere 1 zu den Werten 4-7.

(1*);
$.1

Konvertieren Sie jeden Wert plus Suffix in Dezimalzahl.



0

C 67 Bytes

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

Ein direkter Port von Neils JavaScript-Antwort , aber ich dachte, dies sollte der Vollständigkeit halber hinzugefügt werden.


Getestet auf GCC Version 6.3.0. Es wird einige Warnungen auslösen, aber trotzdem kompilieren.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.