New Order #2: Turn My WayIncrementing Gray CodesGive me the Gray Code list of bit width nNew Order #1: How does this feel?Give me the Gray Code list of bit width nPrint the intersection of sequencesHarmonious “Convergence”Sylvester's sequenceIncrementing Gray CodesThe dragon Curve sequenceAlternating bit smearingJumping NumbersMake me a metasequenceNew Order #1: How does this feel?

Multi tool use
Multi tool use

Can creatures abilities target that creature itself?

PTIJ: Which Dr. Seuss books should one obtain?

How to get directions in deep space?

Could a welfare state co-exist with mega corporations?

How are passwords stolen from companies if they only store hashes?

Strange behavior in TikZ draw command

What do the positive and negative (+/-) transmit and receive pins mean on Ethernet cables?

Do people actually use the word "kaputt" in conversation?

If the Dominion rule using their Jem'Hadar troops, why is their life expectancy so low?

Can a Knock spell open the door to Mordenkainen's Magnificent Mansion?

Exposing a company lying about themselves in a tightly knit industry (videogames) : Is my career at risk on the long run?

Magnifying glass in hyperbolic space

Friend wants my recommendation but I don't want to give it to him

Writing in a Christian voice

Why is participating in the European Parliamentary elections used as a threat?

python displays `n` instead of breaking a line

How can I, as DM, avoid the Conga Line of Death occurring when implementing some form of flanking rule?

Reasons for having MCU pin-states default to pull-up/down out of reset

Why would five hundred and five same as one?

categorizing a variable turns it from insignificant to significant

How can a new country break out from a developed country without war?

New Order #2: Turn My Way

Is there a distance limit for minecart tracks?

Highest stage count that are used one right after the other?



New Order #2: Turn My Way


Incrementing Gray CodesGive me the Gray Code list of bit width nNew Order #1: How does this feel?Give me the Gray Code list of bit width nPrint the intersection of sequencesHarmonious “Convergence”Sylvester's sequenceIncrementing Gray CodesThe dragon Curve sequenceAlternating bit smearingJumping NumbersMake me a metasequenceNew Order #1: How does this feel?













8












$begingroup$


Introduction (may be ignored)



Putting all positive numbers in its regular order (1, 2, 3, ...) is a bit boring, isn't it? So here is a series of challenges around permutations (reshuffelings) of all positive numbers. This is the second challenge in this series. The first challenge can be found here.



In this challenge, we use Gray codes to rearrage the natural numbers. A Gray code, or "reflected binary code" is a binary encoding in such a way that two successive values differ in only one bit. A practical application of this encoding is to use it in rotary encoders, hence my reference to "Turn My Way".



Rotary encoder for angle-measuring devices marked in 3-bit binary.



Note that this encoding leaves some degree of freedom. For example, following binary 1100, there are four possible following codes: 1101, 1110, 1000 and 0100. This is why I will define $a(n)$ as the smallest, not previously used value that differs only one character in binary encoding. This sequence corresponds with A163252.



Since this is a "pure sequence" challenge, the task is to output $a(n)$ for a given $n$ as input, where $a(n)$ is A163252.



Task



Given an integer input $n$, output $a(n)$ in integer format (not in binary format).



$a(n)$ is defined as the least positive integer not occurring earlier in the sequence such that $a(n-1)$ and $a(n)$ differ in only one bit when written in binary.



Note: 1-based indexing is assumed here; you may use 0-based indexing, so $a(0) = 1; a(1) = 3$, etc. Please mention this in your answer if you choose to use this.



Test cases



Input | Output
--------------
1 | 1
5 | 4
20 | 18
50 | 48
123 | 121
1234 | 1333
3000 | 3030
9999 | 9997


Rules



  • Input and output are integers (your program should at least support input and output in the range of 1 up to 32767)

  • Invalid input (0, floats, strings, negative values, etc.) may lead to unpredicted output, errors or (un)defined behaviour. In A163252, $a(0)$ is defined as 0. For this challenge, we will ignore this.

  • Default I/O rules apply.


  • Default loopholes are forbidden.

  • This is code-golf, so the shortest answers in bytes wins

Final note



See the following related (but not equal) PP&CG questions:



  • Finding the next Gray code (input and output in binary)

  • Generate the all Gray codes of length n









share|improve this question









$endgroup$
















    8












    $begingroup$


    Introduction (may be ignored)



    Putting all positive numbers in its regular order (1, 2, 3, ...) is a bit boring, isn't it? So here is a series of challenges around permutations (reshuffelings) of all positive numbers. This is the second challenge in this series. The first challenge can be found here.



    In this challenge, we use Gray codes to rearrage the natural numbers. A Gray code, or "reflected binary code" is a binary encoding in such a way that two successive values differ in only one bit. A practical application of this encoding is to use it in rotary encoders, hence my reference to "Turn My Way".



    Rotary encoder for angle-measuring devices marked in 3-bit binary.



    Note that this encoding leaves some degree of freedom. For example, following binary 1100, there are four possible following codes: 1101, 1110, 1000 and 0100. This is why I will define $a(n)$ as the smallest, not previously used value that differs only one character in binary encoding. This sequence corresponds with A163252.



    Since this is a "pure sequence" challenge, the task is to output $a(n)$ for a given $n$ as input, where $a(n)$ is A163252.



    Task



    Given an integer input $n$, output $a(n)$ in integer format (not in binary format).



    $a(n)$ is defined as the least positive integer not occurring earlier in the sequence such that $a(n-1)$ and $a(n)$ differ in only one bit when written in binary.



    Note: 1-based indexing is assumed here; you may use 0-based indexing, so $a(0) = 1; a(1) = 3$, etc. Please mention this in your answer if you choose to use this.



    Test cases



    Input | Output
    --------------
    1 | 1
    5 | 4
    20 | 18
    50 | 48
    123 | 121
    1234 | 1333
    3000 | 3030
    9999 | 9997


    Rules



    • Input and output are integers (your program should at least support input and output in the range of 1 up to 32767)

    • Invalid input (0, floats, strings, negative values, etc.) may lead to unpredicted output, errors or (un)defined behaviour. In A163252, $a(0)$ is defined as 0. For this challenge, we will ignore this.

    • Default I/O rules apply.


    • Default loopholes are forbidden.

    • This is code-golf, so the shortest answers in bytes wins

    Final note



    See the following related (but not equal) PP&CG questions:



    • Finding the next Gray code (input and output in binary)

    • Generate the all Gray codes of length n









    share|improve this question









    $endgroup$














      8












      8








      8





      $begingroup$


      Introduction (may be ignored)



      Putting all positive numbers in its regular order (1, 2, 3, ...) is a bit boring, isn't it? So here is a series of challenges around permutations (reshuffelings) of all positive numbers. This is the second challenge in this series. The first challenge can be found here.



      In this challenge, we use Gray codes to rearrage the natural numbers. A Gray code, or "reflected binary code" is a binary encoding in such a way that two successive values differ in only one bit. A practical application of this encoding is to use it in rotary encoders, hence my reference to "Turn My Way".



      Rotary encoder for angle-measuring devices marked in 3-bit binary.



      Note that this encoding leaves some degree of freedom. For example, following binary 1100, there are four possible following codes: 1101, 1110, 1000 and 0100. This is why I will define $a(n)$ as the smallest, not previously used value that differs only one character in binary encoding. This sequence corresponds with A163252.



      Since this is a "pure sequence" challenge, the task is to output $a(n)$ for a given $n$ as input, where $a(n)$ is A163252.



      Task



      Given an integer input $n$, output $a(n)$ in integer format (not in binary format).



      $a(n)$ is defined as the least positive integer not occurring earlier in the sequence such that $a(n-1)$ and $a(n)$ differ in only one bit when written in binary.



      Note: 1-based indexing is assumed here; you may use 0-based indexing, so $a(0) = 1; a(1) = 3$, etc. Please mention this in your answer if you choose to use this.



      Test cases



      Input | Output
      --------------
      1 | 1
      5 | 4
      20 | 18
      50 | 48
      123 | 121
      1234 | 1333
      3000 | 3030
      9999 | 9997


      Rules



      • Input and output are integers (your program should at least support input and output in the range of 1 up to 32767)

      • Invalid input (0, floats, strings, negative values, etc.) may lead to unpredicted output, errors or (un)defined behaviour. In A163252, $a(0)$ is defined as 0. For this challenge, we will ignore this.

      • Default I/O rules apply.


      • Default loopholes are forbidden.

      • This is code-golf, so the shortest answers in bytes wins

      Final note



      See the following related (but not equal) PP&CG questions:



      • Finding the next Gray code (input and output in binary)

      • Generate the all Gray codes of length n









      share|improve this question









      $endgroup$




      Introduction (may be ignored)



      Putting all positive numbers in its regular order (1, 2, 3, ...) is a bit boring, isn't it? So here is a series of challenges around permutations (reshuffelings) of all positive numbers. This is the second challenge in this series. The first challenge can be found here.



      In this challenge, we use Gray codes to rearrage the natural numbers. A Gray code, or "reflected binary code" is a binary encoding in such a way that two successive values differ in only one bit. A practical application of this encoding is to use it in rotary encoders, hence my reference to "Turn My Way".



      Rotary encoder for angle-measuring devices marked in 3-bit binary.



      Note that this encoding leaves some degree of freedom. For example, following binary 1100, there are four possible following codes: 1101, 1110, 1000 and 0100. This is why I will define $a(n)$ as the smallest, not previously used value that differs only one character in binary encoding. This sequence corresponds with A163252.



      Since this is a "pure sequence" challenge, the task is to output $a(n)$ for a given $n$ as input, where $a(n)$ is A163252.



      Task



      Given an integer input $n$, output $a(n)$ in integer format (not in binary format).



      $a(n)$ is defined as the least positive integer not occurring earlier in the sequence such that $a(n-1)$ and $a(n)$ differ in only one bit when written in binary.



      Note: 1-based indexing is assumed here; you may use 0-based indexing, so $a(0) = 1; a(1) = 3$, etc. Please mention this in your answer if you choose to use this.



      Test cases



      Input | Output
      --------------
      1 | 1
      5 | 4
      20 | 18
      50 | 48
      123 | 121
      1234 | 1333
      3000 | 3030
      9999 | 9997


      Rules



      • Input and output are integers (your program should at least support input and output in the range of 1 up to 32767)

      • Invalid input (0, floats, strings, negative values, etc.) may lead to unpredicted output, errors or (un)defined behaviour. In A163252, $a(0)$ is defined as 0. For this challenge, we will ignore this.

      • Default I/O rules apply.


      • Default loopholes are forbidden.

      • This is code-golf, so the shortest answers in bytes wins

      Final note



      See the following related (but not equal) PP&CG questions:



      • Finding the next Gray code (input and output in binary)

      • Generate the all Gray codes of length n






      code-golf sequence






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 6 hours ago









      agtoeveragtoever

      1,113419




      1,113419




















          5 Answers
          5






          active

          oldest

          votes


















          2












          $begingroup$


          Jelly, 26 22 bytes



          ṀBL‘Ḷ2*^0ị$ḟ⁸Ṃ
          0;Ç$⁸¡Ṫ


          Try it online!



          A full program that takes n as the single argument. Works for all test cases. Also note that, although not required, it handles n=0.



          Explanation



          Helper link: find next term



          Ṁ | maximum of list so far
          B | convert to binary
          L | number of binary digits
          ‘ | increase by one
          Ḷ | lowered range (0..above number)
          2* | 2 to the power of each of the above
          ^ | exclusive or with...
          0ị$ | ... the last term in the list so far
          ḟ⁸ | filter out anything used already
          Ṃ | find the minimum


          Main link



          0 | start with zero
          ;Ç$ | append the result of the above link
          ⁸¡ | and repeat n times
          Ṫ | take the last term





          share|improve this answer











          $endgroup$




















            2












            $begingroup$

            JavaScript (ES6), 65 bytes



            1-indexed.





            n=>for(o=p=[k=1];o[k]


            Try it online!



            Commented



            n => // if k was already encountered
            ~-(i = p ^ k) & i ? // or (p XOR k) has more than 1 bit set:
            k++ // increment k
            : // else:
            k = o[p = k] // set o[k], set p to k
            = !!n--; // stop if n is equal to 0 or set k to 1; decrement n
            ); // end of for()
            return p // return p
            // end





            share|improve this answer











            $endgroup$












            • $begingroup$
              On TIO, I get a stack overflow for n > ~1024. Any suggestions on how tot deal with that in Abu other environment? Rule: "your program should at least support input and output in theorie range of 1 up tot 32767"
              $endgroup$
              – agtoever
              1 hour ago






            • 1




              $begingroup$
              @agtoever I've updated it to a non-recursive version.
              $endgroup$
              – Arnauld
              1 hour ago


















            1












            $begingroup$


            Wolfram Language (Mathematica), 74 bytes



            Last@Nest[#~Join~Min[BitXor[Last@#,2^Range[0,20]]~Complement~#]&,0,#]&


            Try it online!






            share|improve this answer









            $endgroup$




















              0












              $begingroup$


              Python 3.8 (pre-release), 85 bytes



              1-based indexing, really inefficient





              a=lambda n,x=0:((w:=x^(n and a(n-1)))&w-1or x in[a(i)for i in range(n)])and-~a(n,x+1)


              Try it online!






              share|improve this answer









              $endgroup$












              • $begingroup$
                Maximum input 32767 isn't supported (the default recursion depth isn't system-dependent).
                $endgroup$
                – Erik the Outgolfer
                49 mins ago


















              0












              $begingroup$


              APL (Dyalog Extended), 46 bytes





              ⍵⌷2∘(~⍺∊⍵)∧1=≢⍸≠⌿↑⌽∘⊤¨⍺,⊃⌽⍵:⍵,⍺⋄⍵∇⍨⍺+1⍣⍵⊢1


              Try it online!





              share









              $endgroup$












                Your Answer





                StackExchange.ifUsing("editor", function ()
                return StackExchange.using("mathjaxEditing", function ()
                StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
                StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
                );
                );
                , "mathjax-editing");

                StackExchange.ifUsing("editor", function ()
                StackExchange.using("externalEditor", function ()
                StackExchange.using("snippets", function ()
                StackExchange.snippets.init();
                );
                );
                , "code-snippets");

                StackExchange.ready(function()
                var channelOptions =
                tags: "".split(" "),
                id: "200"
                ;
                initTagRenderer("".split(" "), "".split(" "), channelOptions);

                StackExchange.using("externalEditor", function()
                // Have to fire editor after snippets, if snippets enabled
                if (StackExchange.settings.snippets.snippetsEnabled)
                StackExchange.using("snippets", function()
                createEditor();
                );

                else
                createEditor();

                );

                function createEditor()
                StackExchange.prepareEditor(
                heartbeatType: 'answer',
                autoActivateHeartbeat: false,
                convertImagesToLinks: false,
                noModals: true,
                showLowRepImageUploadWarning: true,
                reputationToPostImages: null,
                bindNavPrevention: true,
                postfix: "",
                imageUploader:
                brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
                contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
                allowUrls: true
                ,
                onDemand: true,
                discardSelector: ".discard-answer"
                ,immediatelyShowMarkdownHelp:true
                );



                );













                draft saved

                draft discarded


















                StackExchange.ready(
                function ()
                StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodegolf.stackexchange.com%2fquestions%2f181825%2fnew-order-2-turn-my-way%23new-answer', 'question_page');

                );

                Post as a guest















                Required, but never shown

























                5 Answers
                5






                active

                oldest

                votes








                5 Answers
                5






                active

                oldest

                votes









                active

                oldest

                votes






                active

                oldest

                votes









                2












                $begingroup$


                Jelly, 26 22 bytes



                ṀBL‘Ḷ2*^0ị$ḟ⁸Ṃ
                0;Ç$⁸¡Ṫ


                Try it online!



                A full program that takes n as the single argument. Works for all test cases. Also note that, although not required, it handles n=0.



                Explanation



                Helper link: find next term



                Ṁ | maximum of list so far
                B | convert to binary
                L | number of binary digits
                ‘ | increase by one
                Ḷ | lowered range (0..above number)
                2* | 2 to the power of each of the above
                ^ | exclusive or with...
                0ị$ | ... the last term in the list so far
                ḟ⁸ | filter out anything used already
                Ṃ | find the minimum


                Main link



                0 | start with zero
                ;Ç$ | append the result of the above link
                ⁸¡ | and repeat n times
                Ṫ | take the last term





                share|improve this answer











                $endgroup$

















                  2












                  $begingroup$


                  Jelly, 26 22 bytes



                  ṀBL‘Ḷ2*^0ị$ḟ⁸Ṃ
                  0;Ç$⁸¡Ṫ


                  Try it online!



                  A full program that takes n as the single argument. Works for all test cases. Also note that, although not required, it handles n=0.



                  Explanation



                  Helper link: find next term



                  Ṁ | maximum of list so far
                  B | convert to binary
                  L | number of binary digits
                  ‘ | increase by one
                  Ḷ | lowered range (0..above number)
                  2* | 2 to the power of each of the above
                  ^ | exclusive or with...
                  0ị$ | ... the last term in the list so far
                  ḟ⁸ | filter out anything used already
                  Ṃ | find the minimum


                  Main link



                  0 | start with zero
                  ;Ç$ | append the result of the above link
                  ⁸¡ | and repeat n times
                  Ṫ | take the last term





                  share|improve this answer











                  $endgroup$















                    2












                    2








                    2





                    $begingroup$


                    Jelly, 26 22 bytes



                    ṀBL‘Ḷ2*^0ị$ḟ⁸Ṃ
                    0;Ç$⁸¡Ṫ


                    Try it online!



                    A full program that takes n as the single argument. Works for all test cases. Also note that, although not required, it handles n=0.



                    Explanation



                    Helper link: find next term



                    Ṁ | maximum of list so far
                    B | convert to binary
                    L | number of binary digits
                    ‘ | increase by one
                    Ḷ | lowered range (0..above number)
                    2* | 2 to the power of each of the above
                    ^ | exclusive or with...
                    0ị$ | ... the last term in the list so far
                    ḟ⁸ | filter out anything used already
                    Ṃ | find the minimum


                    Main link



                    0 | start with zero
                    ;Ç$ | append the result of the above link
                    ⁸¡ | and repeat n times
                    Ṫ | take the last term





                    share|improve this answer











                    $endgroup$




                    Jelly, 26 22 bytes



                    ṀBL‘Ḷ2*^0ị$ḟ⁸Ṃ
                    0;Ç$⁸¡Ṫ


                    Try it online!



                    A full program that takes n as the single argument. Works for all test cases. Also note that, although not required, it handles n=0.



                    Explanation



                    Helper link: find next term



                    Ṁ | maximum of list so far
                    B | convert to binary
                    L | number of binary digits
                    ‘ | increase by one
                    Ḷ | lowered range (0..above number)
                    2* | 2 to the power of each of the above
                    ^ | exclusive or with...
                    0ị$ | ... the last term in the list so far
                    ḟ⁸ | filter out anything used already
                    Ṃ | find the minimum


                    Main link



                    0 | start with zero
                    ;Ç$ | append the result of the above link
                    ⁸¡ | and repeat n times
                    Ṫ | take the last term






                    share|improve this answer














                    share|improve this answer



                    share|improve this answer








                    edited 50 mins ago

























                    answered 2 hours ago









                    Nick KennedyNick Kennedy

                    79137




                    79137





















                        2












                        $begingroup$

                        JavaScript (ES6), 65 bytes



                        1-indexed.





                        n=>for(o=p=[k=1];o[k]


                        Try it online!



                        Commented



                        n => // if k was already encountered
                        ~-(i = p ^ k) & i ? // or (p XOR k) has more than 1 bit set:
                        k++ // increment k
                        : // else:
                        k = o[p = k] // set o[k], set p to k
                        = !!n--; // stop if n is equal to 0 or set k to 1; decrement n
                        ); // end of for()
                        return p // return p
                        // end





                        share|improve this answer











                        $endgroup$












                        • $begingroup$
                          On TIO, I get a stack overflow for n > ~1024. Any suggestions on how tot deal with that in Abu other environment? Rule: "your program should at least support input and output in theorie range of 1 up tot 32767"
                          $endgroup$
                          – agtoever
                          1 hour ago






                        • 1




                          $begingroup$
                          @agtoever I've updated it to a non-recursive version.
                          $endgroup$
                          – Arnauld
                          1 hour ago















                        2












                        $begingroup$

                        JavaScript (ES6), 65 bytes



                        1-indexed.





                        n=>for(o=p=[k=1];o[k]


                        Try it online!



                        Commented



                        n => // if k was already encountered
                        ~-(i = p ^ k) & i ? // or (p XOR k) has more than 1 bit set:
                        k++ // increment k
                        : // else:
                        k = o[p = k] // set o[k], set p to k
                        = !!n--; // stop if n is equal to 0 or set k to 1; decrement n
                        ); // end of for()
                        return p // return p
                        // end





                        share|improve this answer











                        $endgroup$












                        • $begingroup$
                          On TIO, I get a stack overflow for n > ~1024. Any suggestions on how tot deal with that in Abu other environment? Rule: "your program should at least support input and output in theorie range of 1 up tot 32767"
                          $endgroup$
                          – agtoever
                          1 hour ago






                        • 1




                          $begingroup$
                          @agtoever I've updated it to a non-recursive version.
                          $endgroup$
                          – Arnauld
                          1 hour ago













                        2












                        2








                        2





                        $begingroup$

                        JavaScript (ES6), 65 bytes



                        1-indexed.





                        n=>for(o=p=[k=1];o[k]


                        Try it online!



                        Commented



                        n => // if k was already encountered
                        ~-(i = p ^ k) & i ? // or (p XOR k) has more than 1 bit set:
                        k++ // increment k
                        : // else:
                        k = o[p = k] // set o[k], set p to k
                        = !!n--; // stop if n is equal to 0 or set k to 1; decrement n
                        ); // end of for()
                        return p // return p
                        // end





                        share|improve this answer











                        $endgroup$



                        JavaScript (ES6), 65 bytes



                        1-indexed.





                        n=>for(o=p=[k=1];o[k]


                        Try it online!



                        Commented



                        n => // if k was already encountered
                        ~-(i = p ^ k) & i ? // or (p XOR k) has more than 1 bit set:
                        k++ // increment k
                        : // else:
                        k = o[p = k] // set o[k], set p to k
                        = !!n--; // stop if n is equal to 0 or set k to 1; decrement n
                        ); // end of for()
                        return p // return p
                        // end






                        share|improve this answer














                        share|improve this answer



                        share|improve this answer








                        edited 50 mins ago

























                        answered 4 hours ago









                        ArnauldArnauld

                        79.2k796329




                        79.2k796329











                        • $begingroup$
                          On TIO, I get a stack overflow for n > ~1024. Any suggestions on how tot deal with that in Abu other environment? Rule: "your program should at least support input and output in theorie range of 1 up tot 32767"
                          $endgroup$
                          – agtoever
                          1 hour ago






                        • 1




                          $begingroup$
                          @agtoever I've updated it to a non-recursive version.
                          $endgroup$
                          – Arnauld
                          1 hour ago
















                        • $begingroup$
                          On TIO, I get a stack overflow for n > ~1024. Any suggestions on how tot deal with that in Abu other environment? Rule: "your program should at least support input and output in theorie range of 1 up tot 32767"
                          $endgroup$
                          – agtoever
                          1 hour ago






                        • 1




                          $begingroup$
                          @agtoever I've updated it to a non-recursive version.
                          $endgroup$
                          – Arnauld
                          1 hour ago















                        $begingroup$
                        On TIO, I get a stack overflow for n > ~1024. Any suggestions on how tot deal with that in Abu other environment? Rule: "your program should at least support input and output in theorie range of 1 up tot 32767"
                        $endgroup$
                        – agtoever
                        1 hour ago




                        $begingroup$
                        On TIO, I get a stack overflow for n > ~1024. Any suggestions on how tot deal with that in Abu other environment? Rule: "your program should at least support input and output in theorie range of 1 up tot 32767"
                        $endgroup$
                        – agtoever
                        1 hour ago




                        1




                        1




                        $begingroup$
                        @agtoever I've updated it to a non-recursive version.
                        $endgroup$
                        – Arnauld
                        1 hour ago




                        $begingroup$
                        @agtoever I've updated it to a non-recursive version.
                        $endgroup$
                        – Arnauld
                        1 hour ago











                        1












                        $begingroup$


                        Wolfram Language (Mathematica), 74 bytes



                        Last@Nest[#~Join~Min[BitXor[Last@#,2^Range[0,20]]~Complement~#]&,0,#]&


                        Try it online!






                        share|improve this answer









                        $endgroup$

















                          1












                          $begingroup$


                          Wolfram Language (Mathematica), 74 bytes



                          Last@Nest[#~Join~Min[BitXor[Last@#,2^Range[0,20]]~Complement~#]&,0,#]&


                          Try it online!






                          share|improve this answer









                          $endgroup$















                            1












                            1








                            1





                            $begingroup$


                            Wolfram Language (Mathematica), 74 bytes



                            Last@Nest[#~Join~Min[BitXor[Last@#,2^Range[0,20]]~Complement~#]&,0,#]&


                            Try it online!






                            share|improve this answer









                            $endgroup$




                            Wolfram Language (Mathematica), 74 bytes



                            Last@Nest[#~Join~Min[BitXor[Last@#,2^Range[0,20]]~Complement~#]&,0,#]&


                            Try it online!







                            share|improve this answer












                            share|improve this answer



                            share|improve this answer










                            answered 1 hour ago









                            J42161217J42161217

                            13.3k21251




                            13.3k21251





















                                0












                                $begingroup$


                                Python 3.8 (pre-release), 85 bytes



                                1-based indexing, really inefficient





                                a=lambda n,x=0:((w:=x^(n and a(n-1)))&w-1or x in[a(i)for i in range(n)])and-~a(n,x+1)


                                Try it online!






                                share|improve this answer









                                $endgroup$












                                • $begingroup$
                                  Maximum input 32767 isn't supported (the default recursion depth isn't system-dependent).
                                  $endgroup$
                                  – Erik the Outgolfer
                                  49 mins ago















                                0












                                $begingroup$


                                Python 3.8 (pre-release), 85 bytes



                                1-based indexing, really inefficient





                                a=lambda n,x=0:((w:=x^(n and a(n-1)))&w-1or x in[a(i)for i in range(n)])and-~a(n,x+1)


                                Try it online!






                                share|improve this answer









                                $endgroup$












                                • $begingroup$
                                  Maximum input 32767 isn't supported (the default recursion depth isn't system-dependent).
                                  $endgroup$
                                  – Erik the Outgolfer
                                  49 mins ago













                                0












                                0








                                0





                                $begingroup$


                                Python 3.8 (pre-release), 85 bytes



                                1-based indexing, really inefficient





                                a=lambda n,x=0:((w:=x^(n and a(n-1)))&w-1or x in[a(i)for i in range(n)])and-~a(n,x+1)


                                Try it online!






                                share|improve this answer









                                $endgroup$




                                Python 3.8 (pre-release), 85 bytes



                                1-based indexing, really inefficient





                                a=lambda n,x=0:((w:=x^(n and a(n-1)))&w-1or x in[a(i)for i in range(n)])and-~a(n,x+1)


                                Try it online!







                                share|improve this answer












                                share|improve this answer



                                share|improve this answer










                                answered 2 hours ago









                                ovsovs

                                19.3k21160




                                19.3k21160











                                • $begingroup$
                                  Maximum input 32767 isn't supported (the default recursion depth isn't system-dependent).
                                  $endgroup$
                                  – Erik the Outgolfer
                                  49 mins ago
















                                • $begingroup$
                                  Maximum input 32767 isn't supported (the default recursion depth isn't system-dependent).
                                  $endgroup$
                                  – Erik the Outgolfer
                                  49 mins ago















                                $begingroup$
                                Maximum input 32767 isn't supported (the default recursion depth isn't system-dependent).
                                $endgroup$
                                – Erik the Outgolfer
                                49 mins ago




                                $begingroup$
                                Maximum input 32767 isn't supported (the default recursion depth isn't system-dependent).
                                $endgroup$
                                – Erik the Outgolfer
                                49 mins ago











                                0












                                $begingroup$


                                APL (Dyalog Extended), 46 bytes





                                ⍵⌷2∘(~⍺∊⍵)∧1=≢⍸≠⌿↑⌽∘⊤¨⍺,⊃⌽⍵:⍵,⍺⋄⍵∇⍨⍺+1⍣⍵⊢1


                                Try it online!





                                share









                                $endgroup$

















                                  0












                                  $begingroup$


                                  APL (Dyalog Extended), 46 bytes





                                  ⍵⌷2∘(~⍺∊⍵)∧1=≢⍸≠⌿↑⌽∘⊤¨⍺,⊃⌽⍵:⍵,⍺⋄⍵∇⍨⍺+1⍣⍵⊢1


                                  Try it online!





                                  share









                                  $endgroup$















                                    0












                                    0








                                    0





                                    $begingroup$


                                    APL (Dyalog Extended), 46 bytes





                                    ⍵⌷2∘(~⍺∊⍵)∧1=≢⍸≠⌿↑⌽∘⊤¨⍺,⊃⌽⍵:⍵,⍺⋄⍵∇⍨⍺+1⍣⍵⊢1


                                    Try it online!





                                    share









                                    $endgroup$




                                    APL (Dyalog Extended), 46 bytes





                                    ⍵⌷2∘(~⍺∊⍵)∧1=≢⍸≠⌿↑⌽∘⊤¨⍺,⊃⌽⍵:⍵,⍺⋄⍵∇⍨⍺+1⍣⍵⊢1


                                    Try it online!






                                    share











                                    share


                                    share










                                    answered 1 min ago









                                    voidhawkvoidhawk

                                    1,31115




                                    1,31115



























                                        draft saved

                                        draft discarded
















































                                        If this is an answer to a challenge…



                                        • …Be sure to follow the challenge specification. However, please refrain from exploiting obvious loopholes. Answers abusing any of the standard loopholes are considered invalid. If you think a specification is unclear or underspecified, comment on the question instead.


                                        • …Try to optimize your score. For instance, answers to code-golf challenges should attempt to be as short as possible. You can always include a readable version of the code in addition to the competitive one.
                                          Explanations of your answer make it more interesting to read and are very much encouraged.


                                        • …Include a short header which indicates the language(s) of your code and its score, as defined by the challenge.


                                        More generally…



                                        • …Please make sure to answer the question and provide sufficient detail.


                                        • …Avoid asking for help, clarification or responding to other answers (use comments instead).




                                        draft saved


                                        draft discarded














                                        StackExchange.ready(
                                        function ()
                                        StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodegolf.stackexchange.com%2fquestions%2f181825%2fnew-order-2-turn-my-way%23new-answer', 'question_page');

                                        );

                                        Post as a guest















                                        Required, but never shown





















































                                        Required, but never shown














                                        Required, but never shown












                                        Required, but never shown







                                        Required, but never shown

































                                        Required, but never shown














                                        Required, but never shown












                                        Required, but never shown







                                        Required, but never shown







                                        J 9,WHjh6TD,eAo7AJqkq5PPLy t4,jJ65ZRCi epsZKfdV6iU2F3q6,ugkr4AoaE B p8Noh
                                        FXYK31,XUTGZ4w 1O2veInmTm3DMvzSuy5F4Wm SwOOJzf9eJT YMR kLiik9NIQRxsw3i9ul

                                        Popular posts from this blog

                                        Creating centerline of river in QGIS? The 2019 Stack Overflow Developer Survey Results Are In Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)Finding centrelines from polygons in QGIS?Splitting line into two lines with GRASS GIS?Centroid of the equator and a pointpostgis: problems creating flow direction polyline; not all needed connections are drawnhow to make decent sense from scattered river depth measurementsQGIS Interpolation on Curved Grid (River DEMs)How to create automatic parking baysShortest path creation between two linesclipping layer using query builder in QGISFinding which side of closest polyline point lies on in QGIS?Create centerline from multi-digitized roadway lines Qgis 2.18Getting bathymetric contours confined only within river banks using QGIS?

                                        What is the result of assigning to std::vector::begin()? The Next CEO of Stack OverflowWhat are the differences between a pointer variable and a reference variable in C++?What does the explicit keyword mean?Concatenating two std::vectorsHow to find out if an item is present in a std::vector?Why is “using namespace std” considered bad practice?What is the “-->” operator in C++?What is the easiest way to initialize a std::vector with hardcoded elements?What is The Rule of Three?What are the basic rules and idioms for operator overloading?Why are std::begin and std::end “not memory safe”?