Source permutation

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP












12












$begingroup$


A permutation of a set $S = s_1, s_2, dotsc, s_n$ is a bijective function $pi: S to S$. For example, if $S = 1,2,3,4$ then the function $pi: x mapsto 1 + (x + 1 mod 4)$ is a permutation:



$$
pi(1) = 3,quad
pi(2) = 4,quad
pi(3) = 1,quad
pi(4) = 2
$$



We can also have permutations on infinite sets, let's take $mathbbN$ as an example: The function $pi: x mapsto x-1 + 2cdot(x mod 2)$ is a permutation, swapping the odd and even integers in blocks of two. The first elements are as follows:



$$
2,1,4,3,6,5,8,7,10,9,12,11,14,13,16,15,dotsc
$$



Challenge



Your task for this challenge is to write a function/program implementing any1 permutation on the positive natural numbers. The score of your solution is the sum of codepoints after mapping them with the implemented permutation.



Example



Suppose we take the above permutation implemented with Python:





def pi(x):
return x - 1 + 2*(x % 2)


Try it online!



The character d has codepoint $100$, $textttpi(100) = 99$. If we do this for every character, we get:



$$
99,102,101,31,111,106,39,119,42,57,9,31,31,31,31,113,102,115,118,113,109,31,119,31,46,31,50,31,44,31,49,41,39,119,31,38,31,49,42
$$



The sum of all these mapped characters is $2463$, this would be the score for that function.



Rules



You will implement a permutation $pi$ either as a function or program



  • given an natural number $x$, return/output $pi(x)$

  • for the purpose of this challenge $mathbbN$ does not contain $0$

  • the permutation must non-trivially permute an infinite subset of $mathbbN$

  • your function/program is not allowed to read its own source

Scoring



The score is given by the sum of all codepoints (zero bytes may not be part of the source code) under that permutation (the codepoints depend on your language2, you're free to use SBCS, UTF-8 etc. as long as your language supports it).



The submission with the lowest score wins, ties are broken by earliest submission.




  1. Except for permutations which only permute a finite subset of $mathbbN$, meaning that the set $ pi(x) neq x $ must be infinite.


  2. If it improves your score, you can for example use a UTF-8 encoded Jelly submission instead of the usual SBCS.










share|improve this question











$endgroup$







  • 1




    $begingroup$
    By non-trivially permute do you mean you just can't do 1,2,3...* or that you also can't do stuff like 2,1,3,4...*?
    $endgroup$
    – Jo King
    Mar 10 at 23:30











  • $begingroup$
    Can our submission be 0-indexed? i.e. Given 0, output the first element of the permutation. If our sequence is 1-indexed how do we score NUL bytes?
    $endgroup$
    – Jo King
    Mar 11 at 1:00







  • 1




    $begingroup$
    @JoKing "zero bytes may not be part of the source code" re: the second question
    $endgroup$
    – ASCII-only
    Mar 11 at 1:11







  • 1




    $begingroup$
    @ASCII-only oops, i misinterpreted that as a weird way of saying your code must be non-empty >.<
    $endgroup$
    – Jo King
    Mar 11 at 1:17










  • $begingroup$
    Related.
    $endgroup$
    – Peter Taylor
    Mar 11 at 11:16















12












$begingroup$


A permutation of a set $S = s_1, s_2, dotsc, s_n$ is a bijective function $pi: S to S$. For example, if $S = 1,2,3,4$ then the function $pi: x mapsto 1 + (x + 1 mod 4)$ is a permutation:



$$
pi(1) = 3,quad
pi(2) = 4,quad
pi(3) = 1,quad
pi(4) = 2
$$



We can also have permutations on infinite sets, let's take $mathbbN$ as an example: The function $pi: x mapsto x-1 + 2cdot(x mod 2)$ is a permutation, swapping the odd and even integers in blocks of two. The first elements are as follows:



$$
2,1,4,3,6,5,8,7,10,9,12,11,14,13,16,15,dotsc
$$



Challenge



Your task for this challenge is to write a function/program implementing any1 permutation on the positive natural numbers. The score of your solution is the sum of codepoints after mapping them with the implemented permutation.



Example



Suppose we take the above permutation implemented with Python:





def pi(x):
return x - 1 + 2*(x % 2)


Try it online!



The character d has codepoint $100$, $textttpi(100) = 99$. If we do this for every character, we get:



$$
99,102,101,31,111,106,39,119,42,57,9,31,31,31,31,113,102,115,118,113,109,31,119,31,46,31,50,31,44,31,49,41,39,119,31,38,31,49,42
$$



The sum of all these mapped characters is $2463$, this would be the score for that function.



Rules



You will implement a permutation $pi$ either as a function or program



  • given an natural number $x$, return/output $pi(x)$

  • for the purpose of this challenge $mathbbN$ does not contain $0$

  • the permutation must non-trivially permute an infinite subset of $mathbbN$

  • your function/program is not allowed to read its own source

Scoring



The score is given by the sum of all codepoints (zero bytes may not be part of the source code) under that permutation (the codepoints depend on your language2, you're free to use SBCS, UTF-8 etc. as long as your language supports it).



The submission with the lowest score wins, ties are broken by earliest submission.




  1. Except for permutations which only permute a finite subset of $mathbbN$, meaning that the set $ pi(x) neq x $ must be infinite.


  2. If it improves your score, you can for example use a UTF-8 encoded Jelly submission instead of the usual SBCS.










share|improve this question











$endgroup$







  • 1




    $begingroup$
    By non-trivially permute do you mean you just can't do 1,2,3...* or that you also can't do stuff like 2,1,3,4...*?
    $endgroup$
    – Jo King
    Mar 10 at 23:30











  • $begingroup$
    Can our submission be 0-indexed? i.e. Given 0, output the first element of the permutation. If our sequence is 1-indexed how do we score NUL bytes?
    $endgroup$
    – Jo King
    Mar 11 at 1:00







  • 1




    $begingroup$
    @JoKing "zero bytes may not be part of the source code" re: the second question
    $endgroup$
    – ASCII-only
    Mar 11 at 1:11







  • 1




    $begingroup$
    @ASCII-only oops, i misinterpreted that as a weird way of saying your code must be non-empty >.<
    $endgroup$
    – Jo King
    Mar 11 at 1:17










  • $begingroup$
    Related.
    $endgroup$
    – Peter Taylor
    Mar 11 at 11:16













12












12








12


1



$begingroup$


A permutation of a set $S = s_1, s_2, dotsc, s_n$ is a bijective function $pi: S to S$. For example, if $S = 1,2,3,4$ then the function $pi: x mapsto 1 + (x + 1 mod 4)$ is a permutation:



$$
pi(1) = 3,quad
pi(2) = 4,quad
pi(3) = 1,quad
pi(4) = 2
$$



We can also have permutations on infinite sets, let's take $mathbbN$ as an example: The function $pi: x mapsto x-1 + 2cdot(x mod 2)$ is a permutation, swapping the odd and even integers in blocks of two. The first elements are as follows:



$$
2,1,4,3,6,5,8,7,10,9,12,11,14,13,16,15,dotsc
$$



Challenge



Your task for this challenge is to write a function/program implementing any1 permutation on the positive natural numbers. The score of your solution is the sum of codepoints after mapping them with the implemented permutation.



Example



Suppose we take the above permutation implemented with Python:





def pi(x):
return x - 1 + 2*(x % 2)


Try it online!



The character d has codepoint $100$, $textttpi(100) = 99$. If we do this for every character, we get:



$$
99,102,101,31,111,106,39,119,42,57,9,31,31,31,31,113,102,115,118,113,109,31,119,31,46,31,50,31,44,31,49,41,39,119,31,38,31,49,42
$$



The sum of all these mapped characters is $2463$, this would be the score for that function.



Rules



You will implement a permutation $pi$ either as a function or program



  • given an natural number $x$, return/output $pi(x)$

  • for the purpose of this challenge $mathbbN$ does not contain $0$

  • the permutation must non-trivially permute an infinite subset of $mathbbN$

  • your function/program is not allowed to read its own source

Scoring



The score is given by the sum of all codepoints (zero bytes may not be part of the source code) under that permutation (the codepoints depend on your language2, you're free to use SBCS, UTF-8 etc. as long as your language supports it).



The submission with the lowest score wins, ties are broken by earliest submission.




  1. Except for permutations which only permute a finite subset of $mathbbN$, meaning that the set $ pi(x) neq x $ must be infinite.


  2. If it improves your score, you can for example use a UTF-8 encoded Jelly submission instead of the usual SBCS.










share|improve this question











$endgroup$




A permutation of a set $S = s_1, s_2, dotsc, s_n$ is a bijective function $pi: S to S$. For example, if $S = 1,2,3,4$ then the function $pi: x mapsto 1 + (x + 1 mod 4)$ is a permutation:



$$
pi(1) = 3,quad
pi(2) = 4,quad
pi(3) = 1,quad
pi(4) = 2
$$



We can also have permutations on infinite sets, let's take $mathbbN$ as an example: The function $pi: x mapsto x-1 + 2cdot(x mod 2)$ is a permutation, swapping the odd and even integers in blocks of two. The first elements are as follows:



$$
2,1,4,3,6,5,8,7,10,9,12,11,14,13,16,15,dotsc
$$



Challenge



Your task for this challenge is to write a function/program implementing any1 permutation on the positive natural numbers. The score of your solution is the sum of codepoints after mapping them with the implemented permutation.



Example



Suppose we take the above permutation implemented with Python:





def pi(x):
return x - 1 + 2*(x % 2)


Try it online!



The character d has codepoint $100$, $textttpi(100) = 99$. If we do this for every character, we get:



$$
99,102,101,31,111,106,39,119,42,57,9,31,31,31,31,113,102,115,118,113,109,31,119,31,46,31,50,31,44,31,49,41,39,119,31,38,31,49,42
$$



The sum of all these mapped characters is $2463$, this would be the score for that function.



Rules



You will implement a permutation $pi$ either as a function or program



  • given an natural number $x$, return/output $pi(x)$

  • for the purpose of this challenge $mathbbN$ does not contain $0$

  • the permutation must non-trivially permute an infinite subset of $mathbbN$

  • your function/program is not allowed to read its own source

Scoring



The score is given by the sum of all codepoints (zero bytes may not be part of the source code) under that permutation (the codepoints depend on your language2, you're free to use SBCS, UTF-8 etc. as long as your language supports it).



The submission with the lowest score wins, ties are broken by earliest submission.




  1. Except for permutations which only permute a finite subset of $mathbbN$, meaning that the set $ pi(x) neq x $ must be infinite.


  2. If it improves your score, you can for example use a UTF-8 encoded Jelly submission instead of the usual SBCS.







code-challenge sequence integer permutations self-referential






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 13 at 23:15









DJMcMayhem

41.1k12149315




41.1k12149315










asked Mar 10 at 16:41









ბიმობიმო

12.1k22393




12.1k22393







  • 1




    $begingroup$
    By non-trivially permute do you mean you just can't do 1,2,3...* or that you also can't do stuff like 2,1,3,4...*?
    $endgroup$
    – Jo King
    Mar 10 at 23:30











  • $begingroup$
    Can our submission be 0-indexed? i.e. Given 0, output the first element of the permutation. If our sequence is 1-indexed how do we score NUL bytes?
    $endgroup$
    – Jo King
    Mar 11 at 1:00







  • 1




    $begingroup$
    @JoKing "zero bytes may not be part of the source code" re: the second question
    $endgroup$
    – ASCII-only
    Mar 11 at 1:11







  • 1




    $begingroup$
    @ASCII-only oops, i misinterpreted that as a weird way of saying your code must be non-empty >.<
    $endgroup$
    – Jo King
    Mar 11 at 1:17










  • $begingroup$
    Related.
    $endgroup$
    – Peter Taylor
    Mar 11 at 11:16












  • 1




    $begingroup$
    By non-trivially permute do you mean you just can't do 1,2,3...* or that you also can't do stuff like 2,1,3,4...*?
    $endgroup$
    – Jo King
    Mar 10 at 23:30











  • $begingroup$
    Can our submission be 0-indexed? i.e. Given 0, output the first element of the permutation. If our sequence is 1-indexed how do we score NUL bytes?
    $endgroup$
    – Jo King
    Mar 11 at 1:00







  • 1




    $begingroup$
    @JoKing "zero bytes may not be part of the source code" re: the second question
    $endgroup$
    – ASCII-only
    Mar 11 at 1:11







  • 1




    $begingroup$
    @ASCII-only oops, i misinterpreted that as a weird way of saying your code must be non-empty >.<
    $endgroup$
    – Jo King
    Mar 11 at 1:17










  • $begingroup$
    Related.
    $endgroup$
    – Peter Taylor
    Mar 11 at 11:16







1




1




$begingroup$
By non-trivially permute do you mean you just can't do 1,2,3...* or that you also can't do stuff like 2,1,3,4...*?
$endgroup$
– Jo King
Mar 10 at 23:30





$begingroup$
By non-trivially permute do you mean you just can't do 1,2,3...* or that you also can't do stuff like 2,1,3,4...*?
$endgroup$
– Jo King
Mar 10 at 23:30













$begingroup$
Can our submission be 0-indexed? i.e. Given 0, output the first element of the permutation. If our sequence is 1-indexed how do we score NUL bytes?
$endgroup$
– Jo King
Mar 11 at 1:00





$begingroup$
Can our submission be 0-indexed? i.e. Given 0, output the first element of the permutation. If our sequence is 1-indexed how do we score NUL bytes?
$endgroup$
– Jo King
Mar 11 at 1:00





1




1




$begingroup$
@JoKing "zero bytes may not be part of the source code" re: the second question
$endgroup$
– ASCII-only
Mar 11 at 1:11





$begingroup$
@JoKing "zero bytes may not be part of the source code" re: the second question
$endgroup$
– ASCII-only
Mar 11 at 1:11





1




1




$begingroup$
@ASCII-only oops, i misinterpreted that as a weird way of saying your code must be non-empty >.<
$endgroup$
– Jo King
Mar 11 at 1:17




$begingroup$
@ASCII-only oops, i misinterpreted that as a weird way of saying your code must be non-empty >.<
$endgroup$
– Jo King
Mar 11 at 1:17












$begingroup$
Related.
$endgroup$
– Peter Taylor
Mar 11 at 11:16




$begingroup$
Related.
$endgroup$
– Peter Taylor
Mar 11 at 11:16










9 Answers
9






active

oldest

votes


















6












$begingroup$


Jelly, score  288 250 212  199



-38 thanks to Erik the Outgolfer!



C-*+


Swaps even with odd.



The score is $67+45+44+43=199$ - see self-scoring here.



Try it online!






share|improve this answer











$endgroup$












  • $begingroup$
    Apparently, Leaky Nun's -*ạ has a score of 300... however, -*_@ has a score of 250. Maybe I should post that as my own, although it's the same permutation.
    $endgroup$
    – Erik the Outgolfer
    Mar 10 at 17:42











  • $begingroup$
    Ah nice observation by Leaky Nun, so -*N+ scores 212
    $endgroup$
    – Jonathan Allan
    Mar 10 at 17:52










  • $begingroup$
    It wasn't an observation, it was a self-answer to his (now pretty old) challenge. ;-)
    $endgroup$
    – Erik the Outgolfer
    Mar 10 at 17:52







  • 3




    $begingroup$
    C-*+ sound like some future variation of C++.
    $endgroup$
    – val
    Mar 11 at 5:50


















5












$begingroup$

JavaScript (ES6), Score =  276  268





$=>(--$^40)+!0


Try it online!






share|improve this answer











$endgroup$












  • $begingroup$
    but 54^54 is 0
    $endgroup$
    – Jonathan Allan
    Mar 10 at 17:56










  • $begingroup$
    @JonathanAllan Thanks for notifying. I somehow missed that part. Should be correct now.
    $endgroup$
    – Arnauld
    Mar 10 at 18:04


















4












$begingroup$


Perl 6, Score: 201





*-!0+^40+!0


Try it online!



Port of Arnauld's answer. This benefits from xor (+^) having the same precedence as - and +, and the use of a Whatever lambda to reduce overall characters. Other than that, I couldn't find a way of representing it differently that got a better score.




Perl 6, Score 804 702





(++$∉ords(q[!$%()+-2?_doqrsx∉])??++$+22-$++%2-$++%2!!++$)xx$_()[-!$+$_]


Try it online!



The first quine-y type answer here, and I think it scores pretty well.



This produces the sequence $23,22,25,24...$ from the question body with the range $1,2,3,4...21$ inserted at the indexes of the unique sorted codepoints of the code. For example, the 30th through 35th elements of the sequence are $50, 53, 52, 1, 55, 54$ since the 33rd codepoint is ! and that's the lowest codepoint in my code.






share|improve this answer











$endgroup$












  • $begingroup$
    O_o that's a massive improvement
    $endgroup$
    – ASCII-only
    Mar 11 at 6:52


















4












$begingroup$


Python 2 score: 742 698 694 points





lambda a:a^96or~~96


Try it online!



-44 points thanks to Ørjan Johansen; -4 points thx to xnor.






share|improve this answer











$endgroup$












  • $begingroup$
    Ørjan Johansen: Fixed (and it saved me 44 bytes!)
    $endgroup$
    – Chas Brown
    Mar 14 at 23:48










  • $begingroup$
    Good save (although that's not bytes)
    $endgroup$
    – Ørjan Johansen
    Mar 14 at 23:50










  • $begingroup$
    That's some generous crediting!
    $endgroup$
    – Ørjan Johansen
    Mar 14 at 23:51










  • $begingroup$
    Wouldn't have edited if you hadn't pointed out the flaw :)
    $endgroup$
    – Chas Brown
    Mar 14 at 23:53










  • $begingroup$
    It's cheaper to replace the space before 96 with ~~.
    $endgroup$
    – xnor
    Mar 15 at 0:27


















2












$begingroup$


Retina 0.8.2, 6 bytes, score 260



T`O`RO


Try it online! Link includes self-scoring footer. Simply swaps digits 1 and 9 and 3 and 7 in the decimal representations, so that numbers that contain no digits coprime to 10 are unaffected.






share|improve this answer









$endgroup$




















    2












    $begingroup$


    C# (Visual C# Interactive Compiler), 22 bytes, Score 247 245





    A=>A>65?A-1+A%2*2:66-A


    Try it online!



    Simple, if less than 66, return 66 minus input, else use the formula in the question that swaps even and odd numbers.






    share|improve this answer











    $endgroup$












    • $begingroup$
      What's wrong with the previous version A=>A<66?66-A:A?
      $endgroup$
      – Jo King
      Mar 11 at 2:35






    • 2




      $begingroup$
      @JoKing Except for permutations which only permute a finite subset of $mathbbN$, meaning that the set $ pi(x) neq x $ must be infinite. The set isn't infinite, since the only values in the set are 1-65, since above 65, all values of A map to A
      $endgroup$
      – Embodiment of Ignorance
      Mar 11 at 2:37










    • $begingroup$
      Oh darn, I didn't notice that. That means my own answer is invalid too :(
      $endgroup$
      – Jo King
      Mar 11 at 2:40



















    1












    $begingroup$


    Charcoal, 13 bytes, score 681



    ⁻⁺²³²ι⊗﹪⊖ι²³³


    Try it online! Link is to self-scoring version with header to map over an array of byte codes. (Charcoal has a custom code page so I've manually inserted the correct byte codes in the input.) Works by reversing ranges of 233 numbers, so that 117, 350, 583 ... are unchanged. Explanation:



     ι Value
    ⁺ Plus
    ²³² Literal 232
    ⁻ Minus
    ι Value
    ⊖ Decremented
    ﹪ Modulo
    ²³³ Literal 233
    ⊗ Doubled





    share|improve this answer









    $endgroup$




















      1












      $begingroup$

      Haskell, score 985



      (((.),(-))->(.)*200+mod(-39+(-))200+1).((*)->divMod((*)-1)200)


      Try it online!






      share|improve this answer











      $endgroup$












      • $begingroup$
        I don't think this is a permutation, since adding a*200 has no effect modulo 200 so a doesn't matter.
        $endgroup$
        – xnor
        Mar 10 at 22:34










      • $begingroup$
        @xnor Good catch. That's supposed to be outside of the mod. At some point while golfing, I must have messed up order of operations. Fixed now, thanks!
        $endgroup$
        – Joseph Sible
        Mar 10 at 22:52











      • $begingroup$
        I think there's another issue that 40 maps to 0 but the challenge requires positive integers, which makes approaches like this tricky.
        $endgroup$
        – xnor
        Mar 10 at 23:15






      • 1




        $begingroup$
        Using sum[1|...] over if..then..else should help.
        $endgroup$
        – ბიმო
        Mar 11 at 0:09






      • 1




        $begingroup$
        Let us continue this discussion in chat.
        $endgroup$
        – ASCII-only
        Mar 11 at 1:18


















      1












      $begingroup$


      05AB1E, score: 488 in 05AB1E's code page



      È·<-


      Swaps odd and even like the example function.



      Will try to improve the score from here.



      Try it online with input in the range [1, 100] or Try it online with the codepoints.



      Explanation:





      È # Check if the (implicit) input is even (1 if truthy; 0 if falsey)
      · # Double (2 if truthy; 0 if falsey)
      < # Decrease by 1 (1 if truthy; -1 if falsey)
      - # Subtract it from the (implicit) input (and output implicitly)





      share|improve this answer











      $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%2f181262%2fsource-permutation%23new-answer', 'question_page');

        );

        Post as a guest















        Required, but never shown

























        9 Answers
        9






        active

        oldest

        votes








        9 Answers
        9






        active

        oldest

        votes









        active

        oldest

        votes






        active

        oldest

        votes









        6












        $begingroup$


        Jelly, score  288 250 212  199



        -38 thanks to Erik the Outgolfer!



        C-*+


        Swaps even with odd.



        The score is $67+45+44+43=199$ - see self-scoring here.



        Try it online!






        share|improve this answer











        $endgroup$












        • $begingroup$
          Apparently, Leaky Nun's -*ạ has a score of 300... however, -*_@ has a score of 250. Maybe I should post that as my own, although it's the same permutation.
          $endgroup$
          – Erik the Outgolfer
          Mar 10 at 17:42











        • $begingroup$
          Ah nice observation by Leaky Nun, so -*N+ scores 212
          $endgroup$
          – Jonathan Allan
          Mar 10 at 17:52










        • $begingroup$
          It wasn't an observation, it was a self-answer to his (now pretty old) challenge. ;-)
          $endgroup$
          – Erik the Outgolfer
          Mar 10 at 17:52







        • 3




          $begingroup$
          C-*+ sound like some future variation of C++.
          $endgroup$
          – val
          Mar 11 at 5:50















        6












        $begingroup$


        Jelly, score  288 250 212  199



        -38 thanks to Erik the Outgolfer!



        C-*+


        Swaps even with odd.



        The score is $67+45+44+43=199$ - see self-scoring here.



        Try it online!






        share|improve this answer











        $endgroup$












        • $begingroup$
          Apparently, Leaky Nun's -*ạ has a score of 300... however, -*_@ has a score of 250. Maybe I should post that as my own, although it's the same permutation.
          $endgroup$
          – Erik the Outgolfer
          Mar 10 at 17:42











        • $begingroup$
          Ah nice observation by Leaky Nun, so -*N+ scores 212
          $endgroup$
          – Jonathan Allan
          Mar 10 at 17:52










        • $begingroup$
          It wasn't an observation, it was a self-answer to his (now pretty old) challenge. ;-)
          $endgroup$
          – Erik the Outgolfer
          Mar 10 at 17:52







        • 3




          $begingroup$
          C-*+ sound like some future variation of C++.
          $endgroup$
          – val
          Mar 11 at 5:50













        6












        6








        6





        $begingroup$


        Jelly, score  288 250 212  199



        -38 thanks to Erik the Outgolfer!



        C-*+


        Swaps even with odd.



        The score is $67+45+44+43=199$ - see self-scoring here.



        Try it online!






        share|improve this answer











        $endgroup$




        Jelly, score  288 250 212  199



        -38 thanks to Erik the Outgolfer!



        C-*+


        Swaps even with odd.



        The score is $67+45+44+43=199$ - see self-scoring here.



        Try it online!







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Mar 10 at 18:22

























        answered Mar 10 at 17:38









        Jonathan AllanJonathan Allan

        54k535174




        54k535174











        • $begingroup$
          Apparently, Leaky Nun's -*ạ has a score of 300... however, -*_@ has a score of 250. Maybe I should post that as my own, although it's the same permutation.
          $endgroup$
          – Erik the Outgolfer
          Mar 10 at 17:42











        • $begingroup$
          Ah nice observation by Leaky Nun, so -*N+ scores 212
          $endgroup$
          – Jonathan Allan
          Mar 10 at 17:52










        • $begingroup$
          It wasn't an observation, it was a self-answer to his (now pretty old) challenge. ;-)
          $endgroup$
          – Erik the Outgolfer
          Mar 10 at 17:52







        • 3




          $begingroup$
          C-*+ sound like some future variation of C++.
          $endgroup$
          – val
          Mar 11 at 5:50
















        • $begingroup$
          Apparently, Leaky Nun's -*ạ has a score of 300... however, -*_@ has a score of 250. Maybe I should post that as my own, although it's the same permutation.
          $endgroup$
          – Erik the Outgolfer
          Mar 10 at 17:42











        • $begingroup$
          Ah nice observation by Leaky Nun, so -*N+ scores 212
          $endgroup$
          – Jonathan Allan
          Mar 10 at 17:52










        • $begingroup$
          It wasn't an observation, it was a self-answer to his (now pretty old) challenge. ;-)
          $endgroup$
          – Erik the Outgolfer
          Mar 10 at 17:52







        • 3




          $begingroup$
          C-*+ sound like some future variation of C++.
          $endgroup$
          – val
          Mar 11 at 5:50















        $begingroup$
        Apparently, Leaky Nun's -*ạ has a score of 300... however, -*_@ has a score of 250. Maybe I should post that as my own, although it's the same permutation.
        $endgroup$
        – Erik the Outgolfer
        Mar 10 at 17:42





        $begingroup$
        Apparently, Leaky Nun's -*ạ has a score of 300... however, -*_@ has a score of 250. Maybe I should post that as my own, although it's the same permutation.
        $endgroup$
        – Erik the Outgolfer
        Mar 10 at 17:42













        $begingroup$
        Ah nice observation by Leaky Nun, so -*N+ scores 212
        $endgroup$
        – Jonathan Allan
        Mar 10 at 17:52




        $begingroup$
        Ah nice observation by Leaky Nun, so -*N+ scores 212
        $endgroup$
        – Jonathan Allan
        Mar 10 at 17:52












        $begingroup$
        It wasn't an observation, it was a self-answer to his (now pretty old) challenge. ;-)
        $endgroup$
        – Erik the Outgolfer
        Mar 10 at 17:52





        $begingroup$
        It wasn't an observation, it was a self-answer to his (now pretty old) challenge. ;-)
        $endgroup$
        – Erik the Outgolfer
        Mar 10 at 17:52





        3




        3




        $begingroup$
        C-*+ sound like some future variation of C++.
        $endgroup$
        – val
        Mar 11 at 5:50




        $begingroup$
        C-*+ sound like some future variation of C++.
        $endgroup$
        – val
        Mar 11 at 5:50











        5












        $begingroup$

        JavaScript (ES6), Score =  276  268





        $=>(--$^40)+!0


        Try it online!






        share|improve this answer











        $endgroup$












        • $begingroup$
          but 54^54 is 0
          $endgroup$
          – Jonathan Allan
          Mar 10 at 17:56










        • $begingroup$
          @JonathanAllan Thanks for notifying. I somehow missed that part. Should be correct now.
          $endgroup$
          – Arnauld
          Mar 10 at 18:04















        5












        $begingroup$

        JavaScript (ES6), Score =  276  268





        $=>(--$^40)+!0


        Try it online!






        share|improve this answer











        $endgroup$












        • $begingroup$
          but 54^54 is 0
          $endgroup$
          – Jonathan Allan
          Mar 10 at 17:56










        • $begingroup$
          @JonathanAllan Thanks for notifying. I somehow missed that part. Should be correct now.
          $endgroup$
          – Arnauld
          Mar 10 at 18:04













        5












        5








        5





        $begingroup$

        JavaScript (ES6), Score =  276  268





        $=>(--$^40)+!0


        Try it online!






        share|improve this answer











        $endgroup$



        JavaScript (ES6), Score =  276  268





        $=>(--$^40)+!0


        Try it online!







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Mar 10 at 18:33

























        answered Mar 10 at 17:35









        ArnauldArnauld

        80.6k797334




        80.6k797334











        • $begingroup$
          but 54^54 is 0
          $endgroup$
          – Jonathan Allan
          Mar 10 at 17:56










        • $begingroup$
          @JonathanAllan Thanks for notifying. I somehow missed that part. Should be correct now.
          $endgroup$
          – Arnauld
          Mar 10 at 18:04
















        • $begingroup$
          but 54^54 is 0
          $endgroup$
          – Jonathan Allan
          Mar 10 at 17:56










        • $begingroup$
          @JonathanAllan Thanks for notifying. I somehow missed that part. Should be correct now.
          $endgroup$
          – Arnauld
          Mar 10 at 18:04















        $begingroup$
        but 54^54 is 0
        $endgroup$
        – Jonathan Allan
        Mar 10 at 17:56




        $begingroup$
        but 54^54 is 0
        $endgroup$
        – Jonathan Allan
        Mar 10 at 17:56












        $begingroup$
        @JonathanAllan Thanks for notifying. I somehow missed that part. Should be correct now.
        $endgroup$
        – Arnauld
        Mar 10 at 18:04




        $begingroup$
        @JonathanAllan Thanks for notifying. I somehow missed that part. Should be correct now.
        $endgroup$
        – Arnauld
        Mar 10 at 18:04











        4












        $begingroup$


        Perl 6, Score: 201





        *-!0+^40+!0


        Try it online!



        Port of Arnauld's answer. This benefits from xor (+^) having the same precedence as - and +, and the use of a Whatever lambda to reduce overall characters. Other than that, I couldn't find a way of representing it differently that got a better score.




        Perl 6, Score 804 702





        (++$∉ords(q[!$%()+-2?_doqrsx∉])??++$+22-$++%2-$++%2!!++$)xx$_()[-!$+$_]


        Try it online!



        The first quine-y type answer here, and I think it scores pretty well.



        This produces the sequence $23,22,25,24...$ from the question body with the range $1,2,3,4...21$ inserted at the indexes of the unique sorted codepoints of the code. For example, the 30th through 35th elements of the sequence are $50, 53, 52, 1, 55, 54$ since the 33rd codepoint is ! and that's the lowest codepoint in my code.






        share|improve this answer











        $endgroup$












        • $begingroup$
          O_o that's a massive improvement
          $endgroup$
          – ASCII-only
          Mar 11 at 6:52















        4












        $begingroup$


        Perl 6, Score: 201





        *-!0+^40+!0


        Try it online!



        Port of Arnauld's answer. This benefits from xor (+^) having the same precedence as - and +, and the use of a Whatever lambda to reduce overall characters. Other than that, I couldn't find a way of representing it differently that got a better score.




        Perl 6, Score 804 702





        (++$∉ords(q[!$%()+-2?_doqrsx∉])??++$+22-$++%2-$++%2!!++$)xx$_()[-!$+$_]


        Try it online!



        The first quine-y type answer here, and I think it scores pretty well.



        This produces the sequence $23,22,25,24...$ from the question body with the range $1,2,3,4...21$ inserted at the indexes of the unique sorted codepoints of the code. For example, the 30th through 35th elements of the sequence are $50, 53, 52, 1, 55, 54$ since the 33rd codepoint is ! and that's the lowest codepoint in my code.






        share|improve this answer











        $endgroup$












        • $begingroup$
          O_o that's a massive improvement
          $endgroup$
          – ASCII-only
          Mar 11 at 6:52













        4












        4








        4





        $begingroup$


        Perl 6, Score: 201





        *-!0+^40+!0


        Try it online!



        Port of Arnauld's answer. This benefits from xor (+^) having the same precedence as - and +, and the use of a Whatever lambda to reduce overall characters. Other than that, I couldn't find a way of representing it differently that got a better score.




        Perl 6, Score 804 702





        (++$∉ords(q[!$%()+-2?_doqrsx∉])??++$+22-$++%2-$++%2!!++$)xx$_()[-!$+$_]


        Try it online!



        The first quine-y type answer here, and I think it scores pretty well.



        This produces the sequence $23,22,25,24...$ from the question body with the range $1,2,3,4...21$ inserted at the indexes of the unique sorted codepoints of the code. For example, the 30th through 35th elements of the sequence are $50, 53, 52, 1, 55, 54$ since the 33rd codepoint is ! and that's the lowest codepoint in my code.






        share|improve this answer











        $endgroup$




        Perl 6, Score: 201





        *-!0+^40+!0


        Try it online!



        Port of Arnauld's answer. This benefits from xor (+^) having the same precedence as - and +, and the use of a Whatever lambda to reduce overall characters. Other than that, I couldn't find a way of representing it differently that got a better score.




        Perl 6, Score 804 702





        (++$∉ords(q[!$%()+-2?_doqrsx∉])??++$+22-$++%2-$++%2!!++$)xx$_()[-!$+$_]


        Try it online!



        The first quine-y type answer here, and I think it scores pretty well.



        This produces the sequence $23,22,25,24...$ from the question body with the range $1,2,3,4...21$ inserted at the indexes of the unique sorted codepoints of the code. For example, the 30th through 35th elements of the sequence are $50, 53, 52, 1, 55, 54$ since the 33rd codepoint is ! and that's the lowest codepoint in my code.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Mar 11 at 5:35

























        answered Mar 10 at 23:25









        Jo KingJo King

        26.6k364131




        26.6k364131











        • $begingroup$
          O_o that's a massive improvement
          $endgroup$
          – ASCII-only
          Mar 11 at 6:52
















        • $begingroup$
          O_o that's a massive improvement
          $endgroup$
          – ASCII-only
          Mar 11 at 6:52















        $begingroup$
        O_o that's a massive improvement
        $endgroup$
        – ASCII-only
        Mar 11 at 6:52




        $begingroup$
        O_o that's a massive improvement
        $endgroup$
        – ASCII-only
        Mar 11 at 6:52











        4












        $begingroup$


        Python 2 score: 742 698 694 points





        lambda a:a^96or~~96


        Try it online!



        -44 points thanks to Ørjan Johansen; -4 points thx to xnor.






        share|improve this answer











        $endgroup$












        • $begingroup$
          Ørjan Johansen: Fixed (and it saved me 44 bytes!)
          $endgroup$
          – Chas Brown
          Mar 14 at 23:48










        • $begingroup$
          Good save (although that's not bytes)
          $endgroup$
          – Ørjan Johansen
          Mar 14 at 23:50










        • $begingroup$
          That's some generous crediting!
          $endgroup$
          – Ørjan Johansen
          Mar 14 at 23:51










        • $begingroup$
          Wouldn't have edited if you hadn't pointed out the flaw :)
          $endgroup$
          – Chas Brown
          Mar 14 at 23:53










        • $begingroup$
          It's cheaper to replace the space before 96 with ~~.
          $endgroup$
          – xnor
          Mar 15 at 0:27















        4












        $begingroup$


        Python 2 score: 742 698 694 points





        lambda a:a^96or~~96


        Try it online!



        -44 points thanks to Ørjan Johansen; -4 points thx to xnor.






        share|improve this answer











        $endgroup$












        • $begingroup$
          Ørjan Johansen: Fixed (and it saved me 44 bytes!)
          $endgroup$
          – Chas Brown
          Mar 14 at 23:48










        • $begingroup$
          Good save (although that's not bytes)
          $endgroup$
          – Ørjan Johansen
          Mar 14 at 23:50










        • $begingroup$
          That's some generous crediting!
          $endgroup$
          – Ørjan Johansen
          Mar 14 at 23:51










        • $begingroup$
          Wouldn't have edited if you hadn't pointed out the flaw :)
          $endgroup$
          – Chas Brown
          Mar 14 at 23:53










        • $begingroup$
          It's cheaper to replace the space before 96 with ~~.
          $endgroup$
          – xnor
          Mar 15 at 0:27













        4












        4








        4





        $begingroup$


        Python 2 score: 742 698 694 points





        lambda a:a^96or~~96


        Try it online!



        -44 points thanks to Ørjan Johansen; -4 points thx to xnor.






        share|improve this answer











        $endgroup$




        Python 2 score: 742 698 694 points





        lambda a:a^96or~~96


        Try it online!



        -44 points thanks to Ørjan Johansen; -4 points thx to xnor.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Mar 15 at 0:45

























        answered Mar 14 at 18:27









        Chas BrownChas Brown

        5,2091523




        5,2091523











        • $begingroup$
          Ørjan Johansen: Fixed (and it saved me 44 bytes!)
          $endgroup$
          – Chas Brown
          Mar 14 at 23:48










        • $begingroup$
          Good save (although that's not bytes)
          $endgroup$
          – Ørjan Johansen
          Mar 14 at 23:50










        • $begingroup$
          That's some generous crediting!
          $endgroup$
          – Ørjan Johansen
          Mar 14 at 23:51










        • $begingroup$
          Wouldn't have edited if you hadn't pointed out the flaw :)
          $endgroup$
          – Chas Brown
          Mar 14 at 23:53










        • $begingroup$
          It's cheaper to replace the space before 96 with ~~.
          $endgroup$
          – xnor
          Mar 15 at 0:27
















        • $begingroup$
          Ørjan Johansen: Fixed (and it saved me 44 bytes!)
          $endgroup$
          – Chas Brown
          Mar 14 at 23:48










        • $begingroup$
          Good save (although that's not bytes)
          $endgroup$
          – Ørjan Johansen
          Mar 14 at 23:50










        • $begingroup$
          That's some generous crediting!
          $endgroup$
          – Ørjan Johansen
          Mar 14 at 23:51










        • $begingroup$
          Wouldn't have edited if you hadn't pointed out the flaw :)
          $endgroup$
          – Chas Brown
          Mar 14 at 23:53










        • $begingroup$
          It's cheaper to replace the space before 96 with ~~.
          $endgroup$
          – xnor
          Mar 15 at 0:27















        $begingroup$
        Ørjan Johansen: Fixed (and it saved me 44 bytes!)
        $endgroup$
        – Chas Brown
        Mar 14 at 23:48




        $begingroup$
        Ørjan Johansen: Fixed (and it saved me 44 bytes!)
        $endgroup$
        – Chas Brown
        Mar 14 at 23:48












        $begingroup$
        Good save (although that's not bytes)
        $endgroup$
        – Ørjan Johansen
        Mar 14 at 23:50




        $begingroup$
        Good save (although that's not bytes)
        $endgroup$
        – Ørjan Johansen
        Mar 14 at 23:50












        $begingroup$
        That's some generous crediting!
        $endgroup$
        – Ørjan Johansen
        Mar 14 at 23:51




        $begingroup$
        That's some generous crediting!
        $endgroup$
        – Ørjan Johansen
        Mar 14 at 23:51












        $begingroup$
        Wouldn't have edited if you hadn't pointed out the flaw :)
        $endgroup$
        – Chas Brown
        Mar 14 at 23:53




        $begingroup$
        Wouldn't have edited if you hadn't pointed out the flaw :)
        $endgroup$
        – Chas Brown
        Mar 14 at 23:53












        $begingroup$
        It's cheaper to replace the space before 96 with ~~.
        $endgroup$
        – xnor
        Mar 15 at 0:27




        $begingroup$
        It's cheaper to replace the space before 96 with ~~.
        $endgroup$
        – xnor
        Mar 15 at 0:27











        2












        $begingroup$


        Retina 0.8.2, 6 bytes, score 260



        T`O`RO


        Try it online! Link includes self-scoring footer. Simply swaps digits 1 and 9 and 3 and 7 in the decimal representations, so that numbers that contain no digits coprime to 10 are unaffected.






        share|improve this answer









        $endgroup$

















          2












          $begingroup$


          Retina 0.8.2, 6 bytes, score 260



          T`O`RO


          Try it online! Link includes self-scoring footer. Simply swaps digits 1 and 9 and 3 and 7 in the decimal representations, so that numbers that contain no digits coprime to 10 are unaffected.






          share|improve this answer









          $endgroup$















            2












            2








            2





            $begingroup$


            Retina 0.8.2, 6 bytes, score 260



            T`O`RO


            Try it online! Link includes self-scoring footer. Simply swaps digits 1 and 9 and 3 and 7 in the decimal representations, so that numbers that contain no digits coprime to 10 are unaffected.






            share|improve this answer









            $endgroup$




            Retina 0.8.2, 6 bytes, score 260



            T`O`RO


            Try it online! Link includes self-scoring footer. Simply swaps digits 1 and 9 and 3 and 7 in the decimal representations, so that numbers that contain no digits coprime to 10 are unaffected.







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Mar 10 at 19:33









            NeilNeil

            82.6k745179




            82.6k745179





















                2












                $begingroup$


                C# (Visual C# Interactive Compiler), 22 bytes, Score 247 245





                A=>A>65?A-1+A%2*2:66-A


                Try it online!



                Simple, if less than 66, return 66 minus input, else use the formula in the question that swaps even and odd numbers.






                share|improve this answer











                $endgroup$












                • $begingroup$
                  What's wrong with the previous version A=>A<66?66-A:A?
                  $endgroup$
                  – Jo King
                  Mar 11 at 2:35






                • 2




                  $begingroup$
                  @JoKing Except for permutations which only permute a finite subset of $mathbbN$, meaning that the set $ pi(x) neq x $ must be infinite. The set isn't infinite, since the only values in the set are 1-65, since above 65, all values of A map to A
                  $endgroup$
                  – Embodiment of Ignorance
                  Mar 11 at 2:37










                • $begingroup$
                  Oh darn, I didn't notice that. That means my own answer is invalid too :(
                  $endgroup$
                  – Jo King
                  Mar 11 at 2:40
















                2












                $begingroup$


                C# (Visual C# Interactive Compiler), 22 bytes, Score 247 245





                A=>A>65?A-1+A%2*2:66-A


                Try it online!



                Simple, if less than 66, return 66 minus input, else use the formula in the question that swaps even and odd numbers.






                share|improve this answer











                $endgroup$












                • $begingroup$
                  What's wrong with the previous version A=>A<66?66-A:A?
                  $endgroup$
                  – Jo King
                  Mar 11 at 2:35






                • 2




                  $begingroup$
                  @JoKing Except for permutations which only permute a finite subset of $mathbbN$, meaning that the set $ pi(x) neq x $ must be infinite. The set isn't infinite, since the only values in the set are 1-65, since above 65, all values of A map to A
                  $endgroup$
                  – Embodiment of Ignorance
                  Mar 11 at 2:37










                • $begingroup$
                  Oh darn, I didn't notice that. That means my own answer is invalid too :(
                  $endgroup$
                  – Jo King
                  Mar 11 at 2:40














                2












                2








                2





                $begingroup$


                C# (Visual C# Interactive Compiler), 22 bytes, Score 247 245





                A=>A>65?A-1+A%2*2:66-A


                Try it online!



                Simple, if less than 66, return 66 minus input, else use the formula in the question that swaps even and odd numbers.






                share|improve this answer











                $endgroup$




                C# (Visual C# Interactive Compiler), 22 bytes, Score 247 245





                A=>A>65?A-1+A%2*2:66-A


                Try it online!



                Simple, if less than 66, return 66 minus input, else use the formula in the question that swaps even and odd numbers.







                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited Mar 11 at 4:08

























                answered Mar 11 at 2:03









                Embodiment of IgnoranceEmbodiment of Ignorance

                2,866127




                2,866127











                • $begingroup$
                  What's wrong with the previous version A=>A<66?66-A:A?
                  $endgroup$
                  – Jo King
                  Mar 11 at 2:35






                • 2




                  $begingroup$
                  @JoKing Except for permutations which only permute a finite subset of $mathbbN$, meaning that the set $ pi(x) neq x $ must be infinite. The set isn't infinite, since the only values in the set are 1-65, since above 65, all values of A map to A
                  $endgroup$
                  – Embodiment of Ignorance
                  Mar 11 at 2:37










                • $begingroup$
                  Oh darn, I didn't notice that. That means my own answer is invalid too :(
                  $endgroup$
                  – Jo King
                  Mar 11 at 2:40

















                • $begingroup$
                  What's wrong with the previous version A=>A<66?66-A:A?
                  $endgroup$
                  – Jo King
                  Mar 11 at 2:35






                • 2




                  $begingroup$
                  @JoKing Except for permutations which only permute a finite subset of $mathbbN$, meaning that the set $ pi(x) neq x $ must be infinite. The set isn't infinite, since the only values in the set are 1-65, since above 65, all values of A map to A
                  $endgroup$
                  – Embodiment of Ignorance
                  Mar 11 at 2:37










                • $begingroup$
                  Oh darn, I didn't notice that. That means my own answer is invalid too :(
                  $endgroup$
                  – Jo King
                  Mar 11 at 2:40
















                $begingroup$
                What's wrong with the previous version A=>A<66?66-A:A?
                $endgroup$
                – Jo King
                Mar 11 at 2:35




                $begingroup$
                What's wrong with the previous version A=>A<66?66-A:A?
                $endgroup$
                – Jo King
                Mar 11 at 2:35




                2




                2




                $begingroup$
                @JoKing Except for permutations which only permute a finite subset of $mathbbN$, meaning that the set $ pi(x) neq x $ must be infinite. The set isn't infinite, since the only values in the set are 1-65, since above 65, all values of A map to A
                $endgroup$
                – Embodiment of Ignorance
                Mar 11 at 2:37




                $begingroup$
                @JoKing Except for permutations which only permute a finite subset of $mathbbN$, meaning that the set $ pi(x) neq x $ must be infinite. The set isn't infinite, since the only values in the set are 1-65, since above 65, all values of A map to A
                $endgroup$
                – Embodiment of Ignorance
                Mar 11 at 2:37












                $begingroup$
                Oh darn, I didn't notice that. That means my own answer is invalid too :(
                $endgroup$
                – Jo King
                Mar 11 at 2:40





                $begingroup$
                Oh darn, I didn't notice that. That means my own answer is invalid too :(
                $endgroup$
                – Jo King
                Mar 11 at 2:40












                1












                $begingroup$


                Charcoal, 13 bytes, score 681



                ⁻⁺²³²ι⊗﹪⊖ι²³³


                Try it online! Link is to self-scoring version with header to map over an array of byte codes. (Charcoal has a custom code page so I've manually inserted the correct byte codes in the input.) Works by reversing ranges of 233 numbers, so that 117, 350, 583 ... are unchanged. Explanation:



                 ι Value
                ⁺ Plus
                ²³² Literal 232
                ⁻ Minus
                ι Value
                ⊖ Decremented
                ﹪ Modulo
                ²³³ Literal 233
                ⊗ Doubled





                share|improve this answer









                $endgroup$

















                  1












                  $begingroup$


                  Charcoal, 13 bytes, score 681



                  ⁻⁺²³²ι⊗﹪⊖ι²³³


                  Try it online! Link is to self-scoring version with header to map over an array of byte codes. (Charcoal has a custom code page so I've manually inserted the correct byte codes in the input.) Works by reversing ranges of 233 numbers, so that 117, 350, 583 ... are unchanged. Explanation:



                   ι Value
                  ⁺ Plus
                  ²³² Literal 232
                  ⁻ Minus
                  ι Value
                  ⊖ Decremented
                  ﹪ Modulo
                  ²³³ Literal 233
                  ⊗ Doubled





                  share|improve this answer









                  $endgroup$















                    1












                    1








                    1





                    $begingroup$


                    Charcoal, 13 bytes, score 681



                    ⁻⁺²³²ι⊗﹪⊖ι²³³


                    Try it online! Link is to self-scoring version with header to map over an array of byte codes. (Charcoal has a custom code page so I've manually inserted the correct byte codes in the input.) Works by reversing ranges of 233 numbers, so that 117, 350, 583 ... are unchanged. Explanation:



                     ι Value
                    ⁺ Plus
                    ²³² Literal 232
                    ⁻ Minus
                    ι Value
                    ⊖ Decremented
                    ﹪ Modulo
                    ²³³ Literal 233
                    ⊗ Doubled





                    share|improve this answer









                    $endgroup$




                    Charcoal, 13 bytes, score 681



                    ⁻⁺²³²ι⊗﹪⊖ι²³³


                    Try it online! Link is to self-scoring version with header to map over an array of byte codes. (Charcoal has a custom code page so I've manually inserted the correct byte codes in the input.) Works by reversing ranges of 233 numbers, so that 117, 350, 583 ... are unchanged. Explanation:



                     ι Value
                    ⁺ Plus
                    ²³² Literal 232
                    ⁻ Minus
                    ι Value
                    ⊖ Decremented
                    ﹪ Modulo
                    ²³³ Literal 233
                    ⊗ Doubled






                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered Mar 10 at 19:27









                    NeilNeil

                    82.6k745179




                    82.6k745179





















                        1












                        $begingroup$

                        Haskell, score 985



                        (((.),(-))->(.)*200+mod(-39+(-))200+1).((*)->divMod((*)-1)200)


                        Try it online!






                        share|improve this answer











                        $endgroup$












                        • $begingroup$
                          I don't think this is a permutation, since adding a*200 has no effect modulo 200 so a doesn't matter.
                          $endgroup$
                          – xnor
                          Mar 10 at 22:34










                        • $begingroup$
                          @xnor Good catch. That's supposed to be outside of the mod. At some point while golfing, I must have messed up order of operations. Fixed now, thanks!
                          $endgroup$
                          – Joseph Sible
                          Mar 10 at 22:52











                        • $begingroup$
                          I think there's another issue that 40 maps to 0 but the challenge requires positive integers, which makes approaches like this tricky.
                          $endgroup$
                          – xnor
                          Mar 10 at 23:15






                        • 1




                          $begingroup$
                          Using sum[1|...] over if..then..else should help.
                          $endgroup$
                          – ბიმო
                          Mar 11 at 0:09






                        • 1




                          $begingroup$
                          Let us continue this discussion in chat.
                          $endgroup$
                          – ASCII-only
                          Mar 11 at 1:18















                        1












                        $begingroup$

                        Haskell, score 985



                        (((.),(-))->(.)*200+mod(-39+(-))200+1).((*)->divMod((*)-1)200)


                        Try it online!






                        share|improve this answer











                        $endgroup$












                        • $begingroup$
                          I don't think this is a permutation, since adding a*200 has no effect modulo 200 so a doesn't matter.
                          $endgroup$
                          – xnor
                          Mar 10 at 22:34










                        • $begingroup$
                          @xnor Good catch. That's supposed to be outside of the mod. At some point while golfing, I must have messed up order of operations. Fixed now, thanks!
                          $endgroup$
                          – Joseph Sible
                          Mar 10 at 22:52











                        • $begingroup$
                          I think there's another issue that 40 maps to 0 but the challenge requires positive integers, which makes approaches like this tricky.
                          $endgroup$
                          – xnor
                          Mar 10 at 23:15






                        • 1




                          $begingroup$
                          Using sum[1|...] over if..then..else should help.
                          $endgroup$
                          – ბიმო
                          Mar 11 at 0:09






                        • 1




                          $begingroup$
                          Let us continue this discussion in chat.
                          $endgroup$
                          – ASCII-only
                          Mar 11 at 1:18













                        1












                        1








                        1





                        $begingroup$

                        Haskell, score 985



                        (((.),(-))->(.)*200+mod(-39+(-))200+1).((*)->divMod((*)-1)200)


                        Try it online!






                        share|improve this answer











                        $endgroup$



                        Haskell, score 985



                        (((.),(-))->(.)*200+mod(-39+(-))200+1).((*)->divMod((*)-1)200)


                        Try it online!







                        share|improve this answer














                        share|improve this answer



                        share|improve this answer








                        edited Mar 11 at 1:21

























                        answered Mar 10 at 21:28









                        Joseph SibleJoseph Sible

                        2376




                        2376











                        • $begingroup$
                          I don't think this is a permutation, since adding a*200 has no effect modulo 200 so a doesn't matter.
                          $endgroup$
                          – xnor
                          Mar 10 at 22:34










                        • $begingroup$
                          @xnor Good catch. That's supposed to be outside of the mod. At some point while golfing, I must have messed up order of operations. Fixed now, thanks!
                          $endgroup$
                          – Joseph Sible
                          Mar 10 at 22:52











                        • $begingroup$
                          I think there's another issue that 40 maps to 0 but the challenge requires positive integers, which makes approaches like this tricky.
                          $endgroup$
                          – xnor
                          Mar 10 at 23:15






                        • 1




                          $begingroup$
                          Using sum[1|...] over if..then..else should help.
                          $endgroup$
                          – ბიმო
                          Mar 11 at 0:09






                        • 1




                          $begingroup$
                          Let us continue this discussion in chat.
                          $endgroup$
                          – ASCII-only
                          Mar 11 at 1:18
















                        • $begingroup$
                          I don't think this is a permutation, since adding a*200 has no effect modulo 200 so a doesn't matter.
                          $endgroup$
                          – xnor
                          Mar 10 at 22:34










                        • $begingroup$
                          @xnor Good catch. That's supposed to be outside of the mod. At some point while golfing, I must have messed up order of operations. Fixed now, thanks!
                          $endgroup$
                          – Joseph Sible
                          Mar 10 at 22:52











                        • $begingroup$
                          I think there's another issue that 40 maps to 0 but the challenge requires positive integers, which makes approaches like this tricky.
                          $endgroup$
                          – xnor
                          Mar 10 at 23:15






                        • 1




                          $begingroup$
                          Using sum[1|...] over if..then..else should help.
                          $endgroup$
                          – ბიმო
                          Mar 11 at 0:09






                        • 1




                          $begingroup$
                          Let us continue this discussion in chat.
                          $endgroup$
                          – ASCII-only
                          Mar 11 at 1:18















                        $begingroup$
                        I don't think this is a permutation, since adding a*200 has no effect modulo 200 so a doesn't matter.
                        $endgroup$
                        – xnor
                        Mar 10 at 22:34




                        $begingroup$
                        I don't think this is a permutation, since adding a*200 has no effect modulo 200 so a doesn't matter.
                        $endgroup$
                        – xnor
                        Mar 10 at 22:34












                        $begingroup$
                        @xnor Good catch. That's supposed to be outside of the mod. At some point while golfing, I must have messed up order of operations. Fixed now, thanks!
                        $endgroup$
                        – Joseph Sible
                        Mar 10 at 22:52





                        $begingroup$
                        @xnor Good catch. That's supposed to be outside of the mod. At some point while golfing, I must have messed up order of operations. Fixed now, thanks!
                        $endgroup$
                        – Joseph Sible
                        Mar 10 at 22:52













                        $begingroup$
                        I think there's another issue that 40 maps to 0 but the challenge requires positive integers, which makes approaches like this tricky.
                        $endgroup$
                        – xnor
                        Mar 10 at 23:15




                        $begingroup$
                        I think there's another issue that 40 maps to 0 but the challenge requires positive integers, which makes approaches like this tricky.
                        $endgroup$
                        – xnor
                        Mar 10 at 23:15




                        1




                        1




                        $begingroup$
                        Using sum[1|...] over if..then..else should help.
                        $endgroup$
                        – ბიმო
                        Mar 11 at 0:09




                        $begingroup$
                        Using sum[1|...] over if..then..else should help.
                        $endgroup$
                        – ბიმო
                        Mar 11 at 0:09




                        1




                        1




                        $begingroup$
                        Let us continue this discussion in chat.
                        $endgroup$
                        – ASCII-only
                        Mar 11 at 1:18




                        $begingroup$
                        Let us continue this discussion in chat.
                        $endgroup$
                        – ASCII-only
                        Mar 11 at 1:18











                        1












                        $begingroup$


                        05AB1E, score: 488 in 05AB1E's code page



                        È·<-


                        Swaps odd and even like the example function.



                        Will try to improve the score from here.



                        Try it online with input in the range [1, 100] or Try it online with the codepoints.



                        Explanation:





                        È # Check if the (implicit) input is even (1 if truthy; 0 if falsey)
                        · # Double (2 if truthy; 0 if falsey)
                        < # Decrease by 1 (1 if truthy; -1 if falsey)
                        - # Subtract it from the (implicit) input (and output implicitly)





                        share|improve this answer











                        $endgroup$

















                          1












                          $begingroup$


                          05AB1E, score: 488 in 05AB1E's code page



                          È·<-


                          Swaps odd and even like the example function.



                          Will try to improve the score from here.



                          Try it online with input in the range [1, 100] or Try it online with the codepoints.



                          Explanation:





                          È # Check if the (implicit) input is even (1 if truthy; 0 if falsey)
                          · # Double (2 if truthy; 0 if falsey)
                          < # Decrease by 1 (1 if truthy; -1 if falsey)
                          - # Subtract it from the (implicit) input (and output implicitly)





                          share|improve this answer











                          $endgroup$















                            1












                            1








                            1





                            $begingroup$


                            05AB1E, score: 488 in 05AB1E's code page



                            È·<-


                            Swaps odd and even like the example function.



                            Will try to improve the score from here.



                            Try it online with input in the range [1, 100] or Try it online with the codepoints.



                            Explanation:





                            È # Check if the (implicit) input is even (1 if truthy; 0 if falsey)
                            · # Double (2 if truthy; 0 if falsey)
                            < # Decrease by 1 (1 if truthy; -1 if falsey)
                            - # Subtract it from the (implicit) input (and output implicitly)





                            share|improve this answer











                            $endgroup$




                            05AB1E, score: 488 in 05AB1E's code page



                            È·<-


                            Swaps odd and even like the example function.



                            Will try to improve the score from here.



                            Try it online with input in the range [1, 100] or Try it online with the codepoints.



                            Explanation:





                            È # Check if the (implicit) input is even (1 if truthy; 0 if falsey)
                            · # Double (2 if truthy; 0 if falsey)
                            < # Decrease by 1 (1 if truthy; -1 if falsey)
                            - # Subtract it from the (implicit) input (and output implicitly)






                            share|improve this answer














                            share|improve this answer



                            share|improve this answer








                            edited Mar 24 at 10:45

























                            answered Mar 11 at 9:00









                            Kevin CruijssenKevin Cruijssen

                            42.4k570217




                            42.4k570217



























                                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%2f181262%2fsource-permutation%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






                                Popular posts from this blog

                                How to check contact read email or not when send email to Individual?

                                Displaying single band from multi-band raster using QGIS

                                How many registers does an x86_64 CPU actually have?