Angka n pertama tanpa angka biner yang sama berturut-turut

32

Urutan berisi representasi desimal dari angka-angka biner dari bentuk 10101...:, di mana istilah ke-n memiliki n bit.

Urutannya mungkin paling mudah untuk dijelaskan dengan hanya menunjukkan hubungan antara representasi biner dan desimal angka:

0       ->  0
1       ->  1
10      ->  2
101     ->  5
1010    ->  10
10101   ->  21
101010  ->  42

Tantangan:

Ambil integer input n, dan kembalikan angka n pertama dalam urutan. Anda dapat memilih untuk memiliki urutan 0-diindeks atau 1-diindeks.

Kasus uji:

n = 1   <- 1-indexed
0

n = 18
0, 1, 2, 5, 10, 21, 42, 85, 170, 341, 682, 1365, 2730, 5461, 10922, 21845, 43690, 87381

Penjelasan didorong, seperti biasa.

Ini adalah OEIS A000975 .

Stewie Griffin
sumber
Mengingat solusi MATL Anda sendiri, dapatkah mengeluarkan hasil dalam urutan terbalik?
Shaggy
Ya, asalkan disortir. @Shaggy
Stewie Griffin
Mendorong keberuntungan saya di sini, tetapi apakah format output ini dapat diterima [85,[42,[21,[10,[5,[2,[1,0]]]]]]]?
Shaggy

Jawaban:

66

Python 2 , 36 byte

lambda n:[2**i*2/3for i in range(n)]

Cobalah online! Penjelasan: Representasi biner dari adalah sehingga ia tinggal mengalikannya dengan kekuatan 2 yang sesuai dan mengambil bagian integer.230.101010101...

Neil
sumber
1
Sayang sekali ini Januari 2018, kalau tidak saya akan menominasikannya untuk wawasan matematika Terbaik untuk PPCG Terbaik 2017 . Semoga saya masih mengingatnya di awal
2019
@KevinCruijssen ini adalah yang terbaik yang pernah saya lihat dari semua codegolf.stackexchange.com/a/51574/17360
qwr
3
@KevinCruijssen jangan lupa!
Bassdrop Cumberwubwubwub
2
@BassdropCumberwubwubwub Terima kasih atas pengingatnya, karena saya memang sudah lupa sama sekali! Itu telah ditambahkan ke nominasi.
Kevin Cruijssen
11

05AB1E , 4 byte

2 byte disimpan menggunakan trik Neil 2/3

Lo3÷

Cobalah online!

Penjelasan

L      # push range [1 ... input]
 o     # raise 2 to the power of each
  3÷   # integer division of each by 3

05AB1E , 6 byte

TRI∍ηC

Cobalah online!

Penjelasan

T        # push 10
 R       # reverse it
  I∍     # extend to the lenght of the input
    η    # compute prefixes
     C   # convert each from base-2 to base-10
Emigna
sumber
9

Jelly , ... 4 byte

Terima kasih mil untuk -1 byte!

ḶḂḄƤ

Cobalah online!

Penjelasan:

owered range, or Unength. Get [0, 1, 2, 3, ..., n-1]
 Ḃ    it. Get the last bit of each number. [0, 1, 0, 1, ...]
   Ƥ  for each Ƥrefixes [0], [0, 1], [0, 1, 0], [0, 1, 0, 1], ...
  Ḅ   convert it from inary to integer.

Jelly , 4 byte

Versi Jonathan Allan.

Ḷ€ḂḄ

Cobalah online!

owered range, or Unength.
 €    Apply for each. Automatically convert the number n
      to the range [1,2,..,n]. Get [[0],[0,1],[0,1,2],..].
  Ḃ   it. Get the last bit from each number.
      Current value: [[0],[0,1],[0,1,0],..]
   Ḅ  Convert each list from inary to integer.

Versi yang didasarkan pada trik Neil 2/3 menghasilkan 5 byte, lihat riwayat revisi.

pengguna202729
sumber
ḶḂḄƤawalan cepat dibuat untuk ini
mil
Tidak perlu untuk awalan cepat bahkan - Ḷ€ḂḄjuga akan berfungsi.
Jonathan Allan
5

MATL , 5 byte

:WI/k

Berdasarkan jawaban Neil .

Penjelasan

:       % Implicit input, n. Push range [1 2 ... n]
W       % 2 raised to that, element-wise. Gives [2 4 ...2^n] 
I       % Push 3
/       % Divide, element-wise
k       % Round down, element-wise. Implicit display

Cobalah online!


MATL , 9 byte

:q"@:oXBs

Cobalah online!

Penjelasan

:       % Implicit input n. Range [1 2 ... n]
q       % Subtract 1, element-wise: gives [0 1 ... n-1]
"       % For each k in [0 1 ... n-1]
  @     %   Push k
  :     %   Range [1 2 ... k]
  o     %   Modulo 2, element-wise: gives [1 0 1 ...]
  XB    %   Convert from binary to decimal
  s     %   Sum. This is needed for k=0, to transform the empty array into 0
        % Implicit end. Implicit display
Luis Mendo
sumber
5

Python 2 , 45 37 36 byte

-3 byte terima kasih kepada pengguna202729
-1 byte berkat mathmandan

s=0
exec"print s;s+=s+~s%2;"*input()

Cobalah online!

tongkat
sumber
Menggandakan sadalah sama dengan menambahkan ske dirinya sendiri, jadi saya percaya Anda bisa lakukan s+=s+~s%2untuk menghemat satu byte.
mathmandan
5

Python 3, 68 61 54 48 43 byte

c=lambda x,r=0:x and[r]+c(x-1,2*r+~r%2)or[]  

Terima kasih kepada user202729 untuk membantu menghemat 19 byte dan ovs karena membantu menghemat 6 byte.

Cobalah secara Online

Manish Kundu
sumber
Terima kasih untuk -1 byte itu. Dan saya pikir saya tidak bisa mengganti kalau tidak dengan dan atau?
Manish Kundu
Oke sudah lakukan itu.
Manish Kundu
2
Karena x == 0setara dengan not xjika xadalah bilangan bulat, swap operan (yaitu, x if c else y= y if not c else x) akan menghemat lebih banyak byte.
user202729
Anda juga dapat menjatuhkan i%2dan menggunakan 1-r%2sebagai gantinya
Rod
1
Maka Anda tidak perlu melacak i.
user202729
4

Sekam , 7 byte

mḋḣ↑Θݬ

Cobalah online!

Berbasis 1, jadi input n memberikan hasil pertama n .

Penjelasan

     ݬ   The infinite list [1, 0, 1, 0, 1, ...]
    Θ     Prepend a zero.
   ↑      Take the first n elements.
  ḣ       Get the prefixes of that list.
mḋ        Interpret each prefix as base 2.
Martin Ender
sumber
4

APL (Dyalog Unicode) , 11 byte SBCS

Diasumsikan ⎕IO( I ndex O rigin) 0, yang merupakan default pada banyak sistem. Fungsi awalan diam-diam anonim. 1-diindeks.

(2⊥⍴∘1 0)¨⍳

Cobalah online!

ɩ ndices 0… n − 1

(...  terapkan fungsi diam-diam berikut untuk masing-masing

⍴∘1 0 cyclically membentuk kembali daftar [1,0]dengan panjang itu

2⊥ mengkonversi dari basis-2 (biner) ke angka normal

Adm
sumber
4

Perlv5.10 -n , 24 +1 byte

-3 byte terima kasih kepada Nahuel Fouilleul !

say$v=$v*2|$|--while$_--

Cobalah online!

Logikanya sama dengan versi Ruby saya, tetapi lebih pendek karena perl lebih ringkas. Untuk beberapa alasan aneh, printtidak akan melakukan pemisah (sialan!), Jadi saya harus menggunakan saydari v5.10;agar menjalankan ini, saya tidak yakin bagaimana untuk mencetak ini, jadi saya meninggalkannya untuk sekarang ?. ..

Penjelasan

say    # Like shouting, but milder.
  $v = $v*2 | $|-- # Next element is this element times 2 bitwise-OR
                   # with alternating 0 1 0 1..., so 0b0, 0b1, 0b10, 0b101...
                   # $. is OUTPUT_AUTOFLUSH, which is initially 0 and
                   #   setting all non-zero values seem to be treated as 1
  while $_-- # do for [input] times
Unihedron
sumber
untuk penilaian saya akan mengatakan: 27 +1 ( -n) = 28 byte, karena untuk menjalankan perl satu-liner, orang harus menggunakan -edan menggunakan 5.10 Anda hanya perlu menggunakan -E, yang panjangnya sama
Nahuel Fouilleul
dapat menghemat 3 byte menggunakan $|--bukan($.^=1)
Nahuel Fouilleul
4

Haskell , 33 byte

l=1:0:l
($scanl((+).(2*))0l).take

Cobalah online!

Cristian Lupascu
sumber
4

C , 81 55 59 byte

1 diindeks.

i,j;f(c){for(i=j=0;i<c;)printf("%d ",i++&1?j+=j+1:(j+=j));}

Program lengkap, kurang golf:

i;j;main(c,v)char**v;{c=atoi(*++v);for(;i<c;i++)printf("%d ",i&1?j+=j+1:(j+=j));}

Cobalah online!

EDIT 2: Saya berada di bawah asumsi bahwa fungsi tidak perlu dapat digunakan kembali sekarang ketika saya memikirkannya, masuk akal jika mereka harus dapat digunakan kembali: P

EDIT: Saya di bawah kesalahpahaman bahwa saya harus memasukkan seluruh program dalam jawaban, ternyata saya hanya membutuhkan fungsi yang melakukannya. Itu bagus.

Saya cukup yakin saya bisa mencukur beberapa byte di sana-sini. Saya sudah menggunakan beberapa trik. Sebagian besar dari program ini didedikasikan untuk mendapatkan argumen dan mengubahnya menjadi sebuah int. Ini golf kode pertamaku. Jika saya melakukan kesalahan, beri tahu saya: P

Skala kecil
sumber
2
Selamat datang di PPCG! :) Saya bukan orang C tetapi Anda mungkin dapat memperoleh beberapa petunjuk dari solusi Steadybox .
Shaggy
Ok itu lebih masuk akal sekarang, saya sudah memasukkan seluruh program ketika semua yang saya butuhkan adalah fungsi dan sisanya dapat dilakukan di footer. Saya kira ini dapat ditingkatkan secara signifikan.
Minerscale
Selamat datang di PPCG! Anda dapat menyimpan byte dengan menghapus i++dan mengubah i&1ke i++&1. Juga, meskipun sebagai variabel global idan jdiinisialisasi ke nol pada awalnya, mereka perlu diinisialisasi di dalam fungsi, karena pengiriman fungsi harus dapat digunakan kembali .
Steadybox
1
Lebih baik lagi, dimungkinkan untuk menyimpan 2 byte lebih banyak, menghilangkan sepenuhnya terner.
user202729
2
50 byte: i,j;f(c){for(i=j=0;i<c;)printf("%d ",j+=j+i++%2);} Cobalah secara online!
Steadybox
4

Haskell , 47 40 53 49 44 40 34 byte

-4 byte terima kasih kepada pengguna202729
-6 byte terima kasih kepada Laikoni

(`take`l)
l=0:[2*a+1-a`mod`2|a<-l]

Cobalah online!

oktupol
sumber
Anda dapat mengganti otherwisedengan eg 1>0( otherwise == True)
flawr
Untuk menambah golf, Anda dapat menggunakan penjaga untuk menetapkan sesuatu, misalnya seperti ini: Coba online!
flawr
1
NB: Lihat juga tip-tip bermain golf di haskell dan juga chatroom haskell kami untuk para pria dan pria .
flawr
1
Anda perlu membuat fungsi yang mengembalikan elemen n pertama dari daftar di mana n adalah argumen.
manusia
1
Ya persis. Saya dapat merekomendasikan untuk melihat Panduan kami untuk Peraturan Golf di Haskell , yang mencoba untuk menangkap konsensus saat ini tentang apa yang diperbolehkan dan apa yang tidak.
Laikoni
4

Ruby , 26 byte

->n{(1..n).map{|i|2**i/3}}

Cobalah online!

Mengalahkan semua jawaban ruby ​​yang lebih tua.

Penjelasan

1/3dalam binary terlihat seperti 0.01010101..., jadi Jika Anda mengalikannya dengan kekuatan dua, Anda mendapatkan:

n| 2^n/3
-+---------
1|0.1010101...
2|01.010101...
3|010.10101...
4|0101.0101...
5|01010.101...
6|010101.01...

Tapi Ruby memberi angka pada divisi int, memberi saya urutan yang saya butuhkan.

MegaTom
sumber
4

J , 9 byte

[:#.\2|i.

Bagaimana itu bekerja?

i. - daftar 0..n-1

2| - daftar item mod 2

\ - semua awalan

#. - ke desimal

[: - tutup garpu (karena saya memiliki angka genap (4) dari kata kerja)

Cobalah online!

Galen Ivanov
sumber
3

Retina , 28 byte

)K`0
"$+"+¶<`.+
$.(*__2*$-1*

Cobalah online!

Berbasis 0, jadi input n memberikan hasil pertama n + 1 .

Penjelasan

Menggunakan rekursi dari OEIS:

a(n) = a(n-1) + 2*a(n-2) + 1

Mari kita pergi melalui program:

)K`0

Ini adalah tahap konstan: membuang input dan mengatur string yang bekerja ke 0, nilai awal dari urutan. The )membungkus tahap ini dalam kelompok. Grup itu sendiri tidak melakukan apa-apa, tetapi hampir setiap tahap (termasuk tahap grup) mencatat hasilnya dalam sebuah log, dan kita akan membutuhkan dua salinan 0log tersebut agar program dapat berfungsi.

"$+"+¶<`.+
$.(*__2*$-1*

Ada banyak konfigurasi di sini: "$+"+membungkus panggung dalam satu lingkaran. Ini "$+"diperlakukan sebagai substitusi, dan $+mengacu pada input program, yaitu n . Ini berarti bahwa loop dijalankan n kali.

Kemudian ¶<bungkus setiap iterasi dalam tahap output, yang mencetak input stage dengan trafeed linefeed (jadi iterasi pertama mencetak nol, iterasi kedua mencetak hasil iterasi pertama dan seterusnya).

Tahap itu sendiri menggantikan seluruh string kerja dengan substitusi pada baris terakhir. Yang itu menggunakan kurung penutup implisit dan argumen implisit untuk operator pengulangan *, jadi itu sebenarnya kependekan dari:

$.($&*__2*$-1*_)

Barang-barang di dalam tanda kurung dapat dipecah menjadi tiga bagian:

  • $&*_: memberikan string dari (n-1) _ s.
  • _: memberikan satu _.
  • 2*$-1*_: memberikan string 2 * a (n-1) _ . The $-1mengacu pada hasil kedua dari belakang di log hasil, yaitu iterasi lingkaran sebelum terakhir. Itu sebabnya kami perlu menyalin nol pada log untuk memulai, jika tidak, ini akan merujuk pada input program pada iterasi pertama.

Kemudian $.(…)mengukur panjang string yang dihasilkan. Dengan kata lain, kami telah menghitung a(n) = a(n-1) + 1 + 2*a(n-2)dengan melalui unary (tidak benar-benar: $.(…)malas dan tidak benar-benar mengevaluasi kontennya jika dapat menentukan panjang yang dihasilkan secara langsung melalui aritmatika, jadi ini bahkan cukup efisien).

Hasil iterasi loop akhir (elemen n + 1 dari urutan) dicetak karena output implisit Retina di akhir program.

Martin Ender
sumber
3

Brain-Flak , 36 byte

{([()]{}<((({}<>)<>){}([{}]()))>)}<>

Cobalah online!

Penjelasan:

Angka berikutnya dalam urutan diperoleh oleh n*2+1atau n*2+0.

{([()]{}< Loop input times
  (
   (({}<>)<>){} Copy n to other stack; n*2
   ([{}]())  i = 1-i
  ) push n*2 + i
>)} End loop
<> Output other stack
MegaTom
sumber
3

Ruby 42 41 43 41 37 35 31 33 30 byte

-2 byte terima kasih kepada Unihedron

-3 byte berkat GB

->x{a=0;x.times{a-=~a+p(a)%2}}

Cobalah online!

Asone Tuhid
sumber
Kerja bagus! Saya suka susu formula Anda ^^
Unihedron
1
hemat 3 byte:->x{a=0;x.times{a-=~a+p(a)%2}}
GB
2

> <> , 22 + 3 (-v flag) byte

0:nao::1+2%++$1-:?!;$!

Cobalah online!

Penjelasan

Tumpukan diinisialisasi dengan penghitung lingkaran.

0:nao                  : Push 0 to the stack, duplicate and print with a new line.
                         [7] -> [7, 0]
     ::1+              : Duplicate the stack top twice more then add 1 to it.
                         [7, 0] -> [7, 0, 0, 1]
         2%++          : Mod the stack top by 2 then add all values on the stack bar the loop counter.
                         [7, 0, 0, 1] -> [7, 1]
             $1-:?!;$! : Swap the loop counter to the top, minus 1 from it and check if zero, if zero stop the program else continue.
Pelican teal
sumber
2

Java 8, 115 81 80 52 byte

n->{for(int i=2;n-->0;i*=2)System.out.println(i/3);}

Port of @Neil 's Python 2 menjawab .
1-diindeks dan dikeluarkan secara langsung, masing-masing nilai pada baris yang terpisah.

Penjelasan:

Cobalah online.

n->{                           // Method with integer parameter and no return-type
  for(int i=2;                 //  Start integer `i` at 2
      n-->0;                   //  Loop `n` times:
      i*=2)                    //    Multiply `i` by 2 after every iteration
    System.out.println(i/3);}  //   Print `i` integer-divided by 3 and a new-line

Jawaban 80 byte lama:

n->{String t="",r=t;for(Long i=0L;i<n;)r+=i.parseLong(t+=i++%2,2)+" ";return r;}

Input 1-diindeks dan Stringoutput terbatas-ruang

Penjelasan:

Cobalah online.

n->{                             // Method with integer parameter and String return-type
  String t="",r=t;               //  Temp and result-Strings, both starting empty
  for(Long i=0L;i<n;)            //  Loop from 0 to `n` (exclusive)
    r+=                          //   Append the result-String with:
       i.parseLong(        ,2);  //    Binary to integer conversion
                   t+=           //     append the temp-String with:
                      i  %2      //      current index `i` modulo-2
                       ++        //      and increase `i` by one afterwards
       +" ";                     //    + a space
  return r;}                     //  Return the result-String
Kevin Cruijssen
sumber
2

Perl 6 ,  35 30 27 25  20 byte

{[\~](0,+!*...*)[^$_]».&{:2(~$_)}}

Cobalah (35)

{(0,{$_*2+|($+^=1)}…*)[^$_]}

Cobalah (30)

{(⅓X*(2,4,82**$_))».Int}

Cobalah (30)

{(⅔,* *2…*)[^$_]».Int}

Cobalah (27)

{((2 X**1..$_)X/3)».Int}

Cobalah (25)

{(2 X**1..$_)Xdiv 3}

Cobalah (20)

Diperluas:

{
 (
  2                  # 2
    X**              # cross to the power of
       1..$_         # Range from 1 to the input (inclusive)
            )

             Xdiv    # cross using integer divide
                  3  # by 3
}
Brad Gilbert b2gills
sumber
2

C, 47 46 byte

a;f(n){for(a=0;n--;a+=a-~a%2)printf("%d ",a);}

Akumulator adimulai dengan nol. Pada setiap langkah, kami menggandakannya ( a+=a) dan menambahkannya jika bit terkecil sebelumnya yang signifikan adalah nol ( !(a%2), atau setara, -(~a)%2).

Program uji

#include <stdlib.h>
#include <stdio.h>

int main(int argc, char **argv)
{
    while (*++argv) {
        f(atoi(*argv));
        puts("");
    }
}

Hasil

$ ./153783 1 2 3 4 5 6
0 
0 1 
0 1 2 
0 1 2 5 
0 1 2 5 10 
0 1 2 5 10 21 
Toby Speight
sumber
2

Japt , 10 9 7 6 byte

Semua diturunkan secara independen dari solusi lain.

1-diindeks.

õ!²mz3

Cobalah


Penjelasan

õ        :[1,input]
 !²      :Raise 2 to the power of each
   m     :Map
    z3   :Floor divide by 3

Cobalah


Versi 7 byte

õ_ou ì2

Cobalah

õ            :[1,input]
 _           :Pass each through a function
   o         :[0,current element)
    u        :Modulo 2 on above
      ì2     :Convert above from base-2 array to base-10

Versi 9 byte

õ_îA¤w)n2

Cobalah

õ            :[1,input]
 _           :Pass each through a function
   A         :10
    ¤        :Convert to binary
     w       :Reverse
  î          :Repeat the above until it's length equals the current element
      )      :Close nested methods
       n2    :Convert from binary to base-10
Shaggy
sumber
1

MATL , 7 byte

:&+oRXB

Cobalah online!

Penjelasan:

         % Implicitly grab input, n
:        % Range: 1 2 ... n

 &+      % Add the range to itself, transposed
         % 2 3 4 5 ...
         % 3 4 5 6 ...
         % 4 5 6 7 ...
         % 5 6 7 8 ...

   o     % Parity (or modulus 2)
         % 0 1 0 1 ...
         % 1 0 1 0 ...
         % 0 1 0 1 ...
         % 1 0 1 0 ...

    R    % Upper triangular matrix:
         % 0 1 0 1
         % 0 0 1 0
         % 0 0 0 1
         % 0 0 0 0

    XB   % Convert rows to decimal:
         % [5, 2, 1, 0]
         % Implicitly output

Outputnya adalah 0, 1, 2, 5 ...jika Pditambahkan ke end ( flip), membuatnya 8 byte.

Stewie Griffin
sumber
1
Ide bagus,&+
Luis Mendo
1

Ruby -n ,32 30 + 1 byte

Karena kita benar-benar memiliki 1 jalur input, $.nyaman bagi Tuhan!

EDIT: Saya kagum bahwa saya berhasil mengalahkan diri sendiri, tetapi tampaknya menggunakan -nyang dianggap sebagai 1 (dengan aturan 2 dalam kondisi khusus default , karena Ruby dapat dijalankan dengan ruby -e 'full program'( dengan demikian -nadalah 1) semua contoh getsyang hanya digunakan sekali dapat golf di bawah 1 char dengan cara ini; saya percaya ini adalah tonggak untuk ruby, tolong angkat bicara jika Anda tidak setuju dengan kereta pemikiran ini sebelum saya berulang kali menggunakannya kembali di masa depan)

v=0
?1.upto($_){p v=v*2|$.^=1}

Cobalah online!

Penjelasan

# while gets(); -- assumed by -n
v=0            # First element of the sequence
?1.upto($_){   # Do from "1" to "$LAST_READ_LINE" aka: Repeat [input] times
  p            # print expression
  v=v*2|$.^=1  # Next element is current element times two
               # bitwise-or 0 or 1 alternating
               # $. = lines of input read so far = 1 (initially)
}
# end           -- assumed by -n
Unihedron
sumber
Menarik. Mungkin saja dalam 27 byte .
Eric Duminil
1
Bagus! Sepertinya kita semua kalah oleh 26b.
Unihedron
1

AWK a=0 , 31 byte

{for(;$1--;a=a*2+1-a%2)print a}

Cobalah online!

Menggunakan rumus yang dicuri tanpa malu-malu dari jawaban Ruby lainnya ini.

Meskipun tidak memiliki a=0akan berfungsi (awk memperlakukan "kosong" sebagai 0), elemen pertama dari 0 tidak akan dicetak dan sebaliknya menjadi emptygaris, yang sementara saya berpendapat adalah output yang valid mungkin tidak akan berlalu, jadi ada a=0yang bisa dimasukkan sebagai argumen baris perintah.

Unihedron
sumber
Saya suka formula Anda ^^
Asone Tuhid
1

C, 52 byte

i,k;f(n){for(i=k=0;i<n;k=++i%2+2*k)printf("%d ",k);}

1-diindeks

Cobalah online!

Steadybox
sumber
1

brainfuck , 40 byte

,[>.>>[>]<[.->[>]+[<]+<]+<[[-<+>]>-<]<-]

Cobalah online!

Diindeks 0. Input sebagai kode char, output sebagai unary dengan byte nol memisahkan serangkaian kode char 1s. Mengasumsikan sel 8-bit kecuali jika Anda ingin memasukkan lebih dari 255. Mengasumsikan sel negatif, meskipun ini dapat diperbaiki dengan mengorbankan beberapa byte.

Sebelumnya, 50 byte

,[[<]>->>[<-<->>>>-<]<[->>++<<]>>+[-<<+>>]<<.<<+>]

Cobalah online!

Input sebagai kode char, output sebagai kode char. 1-diindeks. Mungkin bisa bermain golf sedikit.

@ Unihedron menunjukkan saya lupa untuk menentukan bahwa ini membutuhkan sel berukuran tak terbatas, jika tidak, nomor 8 berada di urutan teratas.

Jo King
sumber
Ketika saya menjalankannya dengan `` (0d018) sebagai par test case, kode Anda mencetak `* UªUªUªUªUªUª` (0x01 02 05 0a 15 2a 55 aa 55 aa 55 aa 55 aa 55 aa 55 aa; 0d001 002 005 010 021 042 085 170 085 170 085 170 085 170 085 170 085 170) :( tio.run/##SypKzMxLK03O/…
Unihedron
Ok, sepertinya itu adalah masalah ukuran sel. Saya pikir kode Anda harus beradaptasi dengan bilangan bulat besar atau Anda perlu menentukan implementasi yang akan menjalankan kode Anda dengan benar, tetapi standar sel 8-bit tidak cukup
Unihedron
Lupa tentang itu, terima kasih @Unihedron! Saya akan memikirkan versi 8-bit, mungkin keluaran di unary.
Jo King
Menggunakan interpreter dengan sel 32-bit, ia bekerja. Meskipun saya pikir saya mungkin harus mencoba versi bitinteger (8bit) sendiri jika Anda belum pada akhir pekan: D
Unihedron