Bit git hadi!


26

Bir tamsayı verildiğinde, N aşağıdaki adımları uygulayın: (örnek olarak 9 kullanarak).

  1. N girişi al. ( 9)
  2. N'yi base10'dan base2'ye dönüştürün. ( 1001)
  3. Her biti 1 arttırın. ( 2112)
  4. Sonucu base3 olarak kabul edin ve tekrar base10'a dönüştürün. ( 68)
  5. Sonucu İade / Çıktı.

Giriş

Herhangi bir makul sayı biçiminde alınabilir.
Sadece N> 0 olan durumları kullanmanız gerekir.


Çıktı

Bir sayı veya dize olarak geri dönün veya yazdırın stdout.


kurallar

  • Bu , bayt cinsinden en kısa kod kazanır.
  • Varsayılan boşluklar yasaktır.

Test Kılıfları

1 -> 2
2 -> 7
5 -> 23
9 -> 68
10 -> 70
20 -> 211
1235 -> 150623
93825 -> 114252161

Yanıtlar:


15

Python 2,31 bayt

f=lambda n:n and 3*f(n/2)+n%2+1

Çevrimiçi deneyin!


3
Bunun nasıl çalıştığını açıklayabilir misiniz?

+n%2+1dönüş değeri en sağdaki ikili bit artı 1, ekler n/2sağ vardiya n1 ikili bit, 3*f(n/2)yinelemeli bu doğru kaydırılmış bit 3 kez bu hesaplama ekler ve n andzaman özyinelemeye sona n0
Noodle9

11

JavaScript (Node.js) , 23 bayt

f=x=>x&&x%2+1+3*f(x>>1)

Çevrimiçi deneyin!


x>>1aynı x/2değil mi?
mbomb007

@ mbomb007 Ben sadece aynı düşündüm ve önerdi, ama görünüşe göre InfinityJS olur .. Çevrimiçi deneyin. (Size cevap vermek için bir TIO bağlantısı eklemek isteyebilirsiniz, I4m2 )
Kevin Cruijssen

2
@ mbomb007 No. 1>>1=0süre1/2=0.5
l4m2

4
@ mbomb007 ... Python?
user202729

2
Evet. Python cevabına bak. Sebep n/2bu işte işe yarıyor ve burada önerdiğim sebep bu.
mbomb007




6

R , 55 43 bayt

function(n)(n%/%2^(x=0:log2(n))%%2+1)%*%3^x

Çevrimiçi deneyin!

Standart baz dönüşüm numarasını R olarak kullanır, artırır ve daha sonra 3bir tamsayıya dönüştürmek için gereken güçlere sahip bir nokta ürünü kullanır .

12 bayt bırakarak @ user2390246 için teşekkürler !


İkiliye dönüştürme son çıktı olmadığından, basamakların sırası önemli değildir. Yani, kat (log (n)): 0 yerine 0: log (n) yapabilir ve bazı baytları kaydedebilirsiniz: 43 bayt
user2390246

Elbette @ user2390246, teşekkür ederim.
Giuseppe


6

Java 10, 81 52 bayt (Temel dönüştürme)

n->n.toString(n,2).chars().reduce(0,(r,c)->r*3+c-47)

Çevrimiçi deneyin.

@Holger sayesinde -29 bayt .

Açıklama:

n->{                         // Method with Long as both parameter and return-type
  n.toString(n,2)            //  Convert the input to a Base-2 String
  .chars().reduce(0,(r,c)->  //  Loop over its digits as bytes
    r*3+c-47)                //  Multiply the current result by 3, and add the digit + 1
                             //  (which is equal to increasing each digit by 1,
                             //  and then converting from Base-3 to Base-10)

Java 10, 171 167 151 150 149 bayt (Sıralama)

n->{int t=31-n.numberOfLeadingZeros(n);return a(t+1)+b(n-(1<<t));};int a(int n){return--n<1?n+2:3*a(n)+1;}int b(int n){return n<1?0:n+3*b(n/=2)+n*2;}

-16 sayesinde bayt @ musicman523 değişen (int)Math.pow(2,t)için (1<<t).
-1 bayt sayesinde @Holger değişen (int)(Math.log(n)/Math.log(2))için 31-n.numberOfLeadingZeros(n).

Çevrimiçi deneyin.

Açıklama:

n->{                         // Method with Integer as both parameter and return-type
  int t=31-n.numberOfLeadingZeros(n);
                             //  2_log(n)
  return a(t+1)              //  Return A060816(2_log(n)+1)
         +b(n-(1<<t));}      //   + A005836(n-2^2_log(n))

// A060816: a(n) = 3*a(n-1) + 1; a(0)=1, a(1)=2
int a(int n){return--n<1?n+2:3*a(n)+1;}

// A005836: a(n+1) = 3*a(floor(n/2)) + n - 2*floor(n/2).
int b(int n){return n<1?0:n+3*b(n/=2)+n*2;}

Sıralamaya baktığımızda:

2,  7,8,  22,23,25,26,  67,68,70,71,76,77,79,80,  202,203,205,206,211,212,214,215,229,230,232,233,238,239,241,242, ...

Birden fazla ek görebiliriz:

A053645(n):
0,  0,1,  0,1,2,3,  0,1,2,3,4,5,6,7,  0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,  ...

A060816(A053645(n)):
2,  7,7,  22,22,22,22,  67,67,67,67,67,67,67,67,  202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,  ...

A005836(A053645(n)+1)
0,  0,1,  0,1,3,4,  0,1,3,4,9,10,12,13,  0,1,3,4,9,10,12,13,27,28,30,31,36,37,39,40,  ...

Yani sorulan sıra:

A060816(A053645(n)) + A005836(A053645(n)+1)

Ben, söyledikten .. gurur yukarıda bulunan ne olduğum yüzden, desenleri bulma emmek user202729 @ bulundu Java daha iyi ve daha kısa bir yaklaşım .. birkaç dakika içinde: '(


Re n.toString(n,2).getBytes()... Bence manuel dönüşüm daha kısa olabilir.
user202729

1
Btw neden longve değil int?
user202729

1
Ben dışarı değiştirebilir dizisi versiyonunda düşünüyorum (int)Math.pow(2,t)için 1<<t... ve ardından yerinde ifadeyi ve değişken i (damla 152 bayt )
musicman523

1
Gerçek hayatta 31-Integer.numberOfLeadingZeros(n)yerine kullanırdım (int)(Math.log(n)/Math.log(2)), ama kısa değil. Başlıkta kullanmıyorsanız import static, kuralları çok uzatabilir.
Holger

1
İlk değişkeninizin döngüsünü bir akış çözümüne dönüştürmeye çalıştım, başarı ile:n -> n.toString(n,2).chars().reduce(0,(r,c)->r*3+c-47)
Holger





3

Ataşesi , 19 bayt

FromBase&3@1&`+@Bin

Çevrimiçi deneyin!

Bu üç fonksiyonun bir bileşimidir:

  • FromBase&3
  • 1&`+
  • Bin

Bu önce binary ( Bin) 'e dönüştürür , onu 1&`+arttırır ( FromBase&3) , sonra ternary'e ( ) dönüştürür .

Alternatifler

Noktasız, 21 bayt: {FromBase[Bin!_+1,3]}

Yerleşik olmayanlar, 57 bayt: Sum@{_*3^(#_-Iota!_-1)}@{If[_>0,$[_/2|Floor]'(1+_%2),[]]}


3

Retina 0.8.2 , 36 bayt

.+
$*
+`^(1+)\1
$1;1
^
1
+`1;
;111
1

Çevrimiçi deneyin! Açıklama:

.+
$*

Ondalıktan unary'ye dönüştür.

+`^(1+)\1
$1;1

Tekrar tekrar 2 ile divmod yapın ve moduloun sonucuna 1 ekleyin.

^
1

İlk haneye 1 de ekleyin.

+`1;
;111

Unary kodlanmış baz 3'ten unary'a dönüştürün.

1

Ondalık dönüştür.


3

Japt , 6 bayt

¤cÄ n3
¤      // Convert the input to a base-2 string,
 c     // then map over it as charcodes.
  Ä    // For each item, add one to its charcode
       // and when that's done,
    n3 // parse the string as a base 3 number.

Sayı olarak girdi alır, sayı çıkarır.

Çevrimiçi deneyin!


Lanet olsun! Bunu neden düşünmedim? Güzel bitti.
Shaggy

3

MATL , 12 7 6 bayt

BQ3_ZA

Çevrimiçi deneyin!

Giuseppe ve bir tane daha Luis Mendo sayesinde 5 byte kurtarıldı .

Eski 7 baytlık cevap:

YBQc3ZA

Çevrimiçi deneyin!

Açıklama:

YB        % Convert to binary string
  Q       % Increment each element
   c      % Convert ASCII values to characters
    3     % Push 3
     ZA   % Convert from base 3 to decimal.

12 bayt için eski olan:

BQtz:q3w^!Y*

Çevrimiçi deneyin!

Oh benim, bu dağınık oldu ... Öyleyse bu: `BQ3GBn: q ^! Y *.

Açıklama:

               % Implicit input
B              % Convert to binary vector
 Q             % Increment all numbers
  t            % Duplicate
   z           % Number of element in vector
    :          % Range from 1 to that number
     q         % Decrement to get the range from 0 instead of 1
      3        % Push 3
       w       % Swap order of stack
        ^      % Raise 3 to the power of 0, 1, ...
         !     % Transpose
          Y*   % Matrix multiplication
               % Implicit output

3

C # (Visual C # Derleyici) , 128 bayt

using System;using System.Linq;i=>{int z=0;return Convert.ToString(i,2).Reverse().Select(a=>(a-47)*(int)Math.Pow(3,z++)).Sum();}

Çevrimiçi deneyin!

Ben sayıyorum Systemben kullanmak çünkü Convertve Math.


Seçiniz, dizini isteğe bağlı parametre olarak verir. Böylece zdeğişkeninden kurtulabilirsin . Ayrıca ifade vücutta sen temizleyecektir {, }ve returntabloların. Öyle bir şeyn=>Convert.ToString(n,2).Reverse().Select((x,i)=>(x-47)*Math.Pow(3,i)).Sum();
NtFreX 11:18


2

C, 32 27 bayt

n(x){x=x?x%2+1+3*n(x/2):0;}

Dayanarak user202729 'ın Java cevap . Burada çevrimiçi deneyin . 5 baytlık golf oynadığı için Kevin Cruijssen'e teşekkürler .

Ungolfed versiyonu:

n(x) { // recursive function; both argument and return type are implicitly int
    x = // implicit return
    x ? x % 2 + 1 + 3*n(x/2) // if x != 0 return x % 2 + 1 + 3*n(x/2) (recursive call)
    : 0; // else return 0
}

Sen değiştirerek 5 bayt kaydedebilirsiniz returnile x=böylece ve üçlü ters !artık gerekli değildir:n(x){x=x?x%2+1+3*n(x/2):0;}
Kevin Cruijssen

@KevinCruijssen Güzel. Teşekkürler!
OOBalance


2

İletişim araç kutusuyla hareket ettirin, 33 32 bayt

@(x)(de2bi(x)+1)*3.^(0:log2(x))'

Çevrimiçi deneyin!

Girişi kullanarak de2bive tüm sayıları artırarak bir ikili vektöre dönüştürür . Düşey 3 vektörü ile matris çarpımı uygun güçlere yükseltilmiş mi: 1, 3, 9, ...bu nedenle toplamı açık bir çağrı olmadan elde etmek sum.


Bu son derece zekice olsa da, bunu 32 bayt için de yapabilirsiniz: Çevrimiçi deneyin!
Sanchises,

Ve MATLAB ile @(x)base2dec(de2bi(x)+49,3)27 için bile yapabilirsin (
MATLAB'ın Octave'dan

2

PHP, 84 64 Bayt

Çevrimiçi deneyin !!

ORİJİNAL Kod

function f($n){$b=decbin($n);echo base_convert($b+str_repeat('1',strlen($b)),3,10);}

Çevrimiçi deneyin !!

Cristoph sayesinde , php -R ile koştuysa daha az byte

function f($n){echo base_convert(strtr(decbin($n),10,21),3,10);}

açıklama

function f($n){
$b=decbin($n);                    #Convert the iteger to base 2
echo base_convert(                  #base conversion PHP function
    $b+str_repeat('1',strlen($b)),  #It adds to our base 2 number
    3,                              #a number of the same digits length
    10);                            #with purely '1's
}

Programlamaya devam etmek için çok basit bir yolum olduğunu gördüğümde .... .... Varlığı hakkında hiçbir fikrim yoktustrtr
Francisco Hahn

1
Yapacağım !!, üzgünüm<?="Will do!!"
Francisco Hahn

2

CJam , 8 bayt

ri2b:)3b

Çevrimiçi deneyin!

açıklama

ri   e# Read input as an integer
2b   e# Convert to base 2. Gives a list containing 0 and 1
:)   e# Add 1 to each number in that list
3b   e# Convert list from base 3 to decimal. Implicitly display

Ben biraz :)...
Ian H.

2

Boşluk , 117 bayt

[S S S N
_Push_0][S N
S _Duplicate_0][S N
S _Duplicate_0][T   N
T   T   _Read_STDIN_as_number][T    T   T   _Retrieve][N
S S S N
_Create_Label_OUTER_LOOP][S N
S _Duplicate][S S S T   S N
_Push_2][T  S T T   _Modulo][S S S T    N
_Push_1][T  S S S _Add][S N
T   _Swap][S S S T  S N
_Push_2][T  S T S _Integer_division][S N
S _Duplicate][N
T   S N
_If_0_jump_to_Label_INNER_LOOP][N
S N
S N
_Jump_to_Label_OUTER_LOOP][N
S S N
_Create_Label_INNER_LOOP][S S S T   T   N
_Push_3][T  S S N
_Multiply][T    S S S _Add][S N
T   _Swap][S N
S _Duplicate][N
T   S T N
_If_0_jump_to_Label_PRINT_AND_EXIT][S N
T   _Swap][N
S N
N
_Jump_to_Label_INNER_LOOP][N
S S T   N
_Create_Label_PRINT_AND_EXIT][S N
T   _Swap][T    N
S T _Output_integer_to_STDOUT]

Harfler S(boşluk), T(sekme) ve N(yeni satır) yalnızca vurgulama olarak eklenmiştir.
[..._some_action]sadece açıklama olarak eklendi.

Çevrimiçi deneyin (yalnızca ham alanlar, sekmeler ve yeni satırlarla).

Sahte kodda açıklama:

Önce özyinelemeli işlevi int f(int n){return n<1?0:n%2+1+3*f(n/2);}yinelemeli forma dönüştürdüm (sözde kodda):

Integer n = STDIN as integer
Add starting_value 0 to the stack
function OUTER_LOOP:
  while(true){
    Add n%2+1 to the stack
    n = n/2
    if(n == 0):
      Jump to INNER_LOOP
    Else:
      Jump to next iteration OUTER_LOOP

function INNER_LOOP:
  while(true){
    n = 3*n
    n = n + Value at the top of the stack (the ones we calculated with n%2+1)
    Swap top two items
    Check if the top is now 0 (starting value):
      Jump to PRINT_AND_EXIT
    Else:
      Swap top two items back
      Jump to next iteration INNER_LOOP

function PRINT_AND_EXIT:
  Swap top two items back
  Print top to STDOUT as integer
  Exit program with error: Exit not defined

Daha sonra bu yinelemeli yaklaşımı, varsayılan yığını kullanarak yığın tabanlı Dil Boşluklarında uygulamaya koydum.

Örnek çalışır:

Giriş: 1

Command    Explanation                   Stack           Heap    STDIN   STDOUT   STDERR

SSSN       Push 0                        [0]
SNS        Duplicate top (0)             [0,0]
SNS        Duplicate top (0)             [0,0,0]
TNTT       Read STDIN as integer         [0,0]           {0:1}   1
TTT        Retrieve                      [0,1]           {0:1}
NSSSN      Create Label OUTER_LOOP       [0,1]           {0:1}
 SNS       Duplicate top (1)             [0,1,1]         {0:1}
 SSSTSN    Push 2                        [0,1,1,2]       {0:1}
 TSTT      Modulo top two (1%2)          [0,1,1]         {0:1}
 SSSTN     Push 1                        [0,1,1,1]       {0:1}
 TSSS      Add top two (1+1)             [0,1,2]         {0:1}
 SNT       Swap top two                  [0,2,1]         {0:1}
 SSSTSN    Push 2                        [0,2,1,2]       {0:1}
 TSTS      Int-divide top two (1/2)      [0,2,0]         {0:1}
 SNS       Duplicate top (0)             [0,2,0,0]       {0:1}
 NTSN      If 0: Go to Label INNER_LOOP  [0,2,0]         {0:1}
 NSSN      Create Label INNER_LOOP       [0,2,0]         {0:1}
  SSSTTN   Push 3                        [0,2,0,3]       {0:1}
  TSSN     Multiply top two (0*3)        [0,2,0]         {0:1}
  TSSS     Add top two (2+0)             [0,2]           {0:1}
  SNT      Swap top two                  [2,0]           {0:1}
  SNS      Duplicate top (0)             [2,0,0]         {0:1}
  NTSTN    If 0: Jump to Label PRINT     [2,0]           {0:1}
  NSSTN    Create Label PRINT            [2,0]           {0:1}
   SNT     Swap top two                  [0,2]           {0:1}
   TNST    Print top to STDOUT           [0]             {0:1}           2
                                                                                  error

Çevrimiçi deneyin (yalnızca ham alanlar, sekmeler ve yeni satırlarla).
Hatalı durur: Çıkış tanımlanmadı.

Giriş: 4

Command    Explanation                   Stack           Heap    STDIN   STDOUT   STDERR

SSSN       Push 0                        [0]
SNS        Duplicate top (0)             [0,0]
SNS        Duplicate top (0)             [0,0,0]
TNTT       Read STDIN as integer         [0,0]           {0:4}   4
TTT        Retrieve                      [0,4]           {0:4}
NSSSN      Create Label OUTER_LOOP       [0,4]           {0:4}
 SNS       Duplicate top (4)             [0,4,4]         {0:4}
 SSSTSN    Push 2                        [0,4,4,2]       {0:4}
 TSTT      Modulo top two (4%2)          [0,4,0]         {0:4}
 SSSTN     Push 1                        [0,4,0,1]       {0:4}
 TSSS      Add top two (0+1)             [0,4,1]         {0:4}
 SNT       Swap top two                  [0,1,4]         {0:4}
 SSSTSN    Push 2                        [0,1,4,2]       {0:4}
 TSTS      Int-divide top two (4/2)      [0,1,2]         {0:4}
 SNS       Duplicate top (2)             [0,1,2,2]       {0:4}
 NTSN      If 0: Go to Label INNER_LOOP  [0,1,2]         {0:4}
 NSNSN     Jump to Label OUTER_LOOP      [0,1,2]         {0:4}
 SNS       Duplicate top (2)             [0,1,2,2]       {0:4}
 SSSTSN    Push 2                        [0,1,2,2,2]     {0:4}
 TSTT      Modulo top two (2%2)          [0,1,2,0]       {0:4}
 SSSTN     Push 1                        [0,1,2,0,1]     {0:4}
 TSSS      Add top two (0+1)             [0,1,2,1]       {0:4}
 SNT       Swap top two                  [0,1,1,2]       {0:4}
 SSSTSN    Push 2                        [0,1,1,2,2]     {0:4}
 TSTS      Int-divide top two (2/2)      [0,1,1,1]       {0:4}
 SNS       Duplicate top (1)             [0,1,1,1,1]     {0:4}
 NTSN      If 0: Go to Label INNER_LOOP  [0,1,1,1]       {0:4}
 NSNSN     Jump to Label OUTER_LOOP      [0,1,1,1]       {0:4}
 SNS       Duplicate top (1)             [0,1,1,1,1]     {0:4}
 SSSTSN    Push 2                        [0,1,1,1,1,2]   {0:4}
 TSTT      Modulo top two (1%2)          [0,1,1,1,1]     {0:4}
 SSSTN     Push 1                        [0,1,1,1,1,1]   {0:4}
 TSSS      Add top two (1+1)             [0,1,1,1,2]     {0:4}
 SNT       Swap top two                  [0,1,1,2,1]     {0:4}
 SSSTSN    Push 2                        [0,1,1,2,1,2]   {0:4}
 TSTS      Int-divide top two (1/2)      [0,1,1,2,0]     {0:4}
 SNS       Duplicate top (0)             [0,1,1,2,0,0]   {0:4}
 NTSN      If 0: Go to Label INNER_LOOP  [0,1,1,2,0]     {0:4}
 NSSN      Create Label INNER_LOOP       [0,1,1,2,0]     {0:4}
  SSSTTN   Push 3                        [0,1,1,2,0,3]   {0:4}
  TSSN     Multiply top two (0*3)        [0,1,1,2,0]     {0:4}
  TSSS     Add top two (2+0)             [0,1,1,2]       {0:4}
  SNT      Swap top two                  [0,1,2,1]       {0:4}
  SNS      Duplicate top (1)             [0,1,2,1,1]     {0:4}
  NTSTN    If 0: Jump to Label PRINT     [0,1,2,1]       {0:4}
  SNT      Swap top two                  [0,1,1,2]       {0:4}
  NSNN     Jump to Label INNER_LOOP      [0,1,1,2]       {0:4}
  SSSTTN   Push 3                        [0,1,1,2,3]     {0:4}
  TSSN     Multiply top two (2*3)        [0,1,1,6]       {0:4}
  TSSS     Add top two (1+6)             [0,1,7]         {0:4}
  SNT      Swap top two                  [0,7,1]         {0:4}
  SNS      Duplicate top (1)             [0,7,1,1]       {0:4}
  NTSTN    If 0: Jump to Label PRINT     [0,7,1]         {0:4}
  SNT      Swap top two                  [0,1,7]         {0:4}
  NSNN     Jump to Label INNER_LOOP      [0,1,7]         {0:4}
  SSSTTN   Push 3                        [0,1,7,3]       {0:4}
  TSSN     Multiply top two (7*3)        [0,1,21]        {0:4}
  TSSS     Add top two (1+21)            [0,22]          {0:4}
  SNT      Swap top two                  [22,0]          {0:4}
  SNS      Duplicate top (0)             [22,0,0]        {0:4}
  NTSTN    If 0: Jump to Label PRINT     [22,0]          {0:4}
  NSSTN    Create Label PRINT            [22,0]          {0:4}
   SNT     Swap top two                  [0,22]          {0:4}
   TNST    Print top to STDOUT           [0]             {0:4}           22
                                                                                  error

Çevrimiçi deneyin (yalnızca ham alanlar, sekmeler ve yeni satırlarla).
Hatalı durur: Çıkış tanımlanmadı.


Bu noktada neden derleme yazmıyorsun? Ayrıca cevabımda
qwr

Python sözde kodumu daha da basitleştirdim.
qwr

1
@qwr Python kodunuz, görüntülenen Java koduyla neredeyse aynıdır. Java daha ayrıntılı ve hataya açıktır. Tek fark Java kodumun iç içe geçmiş bir döngü olması ve sizinkilerin ayrılmasıdır. Bunu Java'da da yapabilirdim, ancak Whitespace'de yuvalandığı için Java sözde kodunda da yazmayı seçtim. Ayrıca, Whitespace'in yığında kalan öğelerin sayısını bilmenin bir yolu yoktur, bu yüzden başlangıçta 0'a basarım ve kodun INNER_LOOP kısmında şunu yapın: takas et, 0 olup olmadığını kontrol et, geri takas et. Güzel Meclis cevabı olsa da. Bu yüzden + 1'ledim. :)
Kevin Cruijssen

Bence n < 1n, 0 olana kadar değerleri iterek ve ardından sınır değerinize (0) ulaşana kadar onları fırlatarak çeklerden kurtulabileceğinizi düşünüyorum . Yığın derinliğinin açıkça depolanması gerekmez ve değiştirilmesinin bile gerekmemesi gerekir (eğer
lisp'taki

@qwr " Hala n <0 olana kadar değerleri iterek n <1 kontrolünden kurtulabileceğinizi düşünüyorum " Umm .. n < 1(veya n == 0) n0 olana kadar değerleri itiyor mu kontrol ediyorum .. Veya burada bir şeyi yanlış yorumluyorum ..: S " Yığın derinliğinin açıkça depolanması gerekmez " Java'da yapar, aksi halde diziyi oluşturamıyorum. Bunun java.util.Stackyerine kullanabilirdim, ancak daha az ayrıntılı hale getirmek için bir dizi kullandım. Boşlukta, yığın tanımsız boyuttadır.
Kevin Cruijssen

2

Brain-Flak , 74 bayt

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

Çevrimiçi deneyin!

"Okunabilir" versiyonu

({<>(())<>
  ({
    <({}[()])>
    <>
    ([{}]())
    <>
  })
}
# At this point we have a inverted binary string on the stack
(<>)
)
{
  {}
  (
    (({})()){}{}[{}]
  )
  ([][()])
}{}






Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.