Increment each digit in a number to form a new numberDisplaying each number of an integer in a sequenceUgly...

What is the data structure of $@ in shell?

How can a large fleets maintain formation in interstellar space?

Why is Agricola named as such?

How to use Mathematica to do a complex integrate with poles in real axis?

In Linux what happens if 1000 files in a directory are moved to another location while another 300 files were added to the source directory?

Avoid page break between paragraphs

Why did the villain in the first Men in Black movie care about Earth's Cockroaches?

False written accusations not made public - is there law to cover this?

How do I append a character to the end of every line in an Excel cell?

Graph with overlapping labels

Variable is not visible

Does dispel magic end a master's control over their undead?

It took me a lot of time to make this, pls like. (YouTube Comments #1)

Does every functor from Set to Set preserve products?

Why did Democrats in the Senate oppose the Born-Alive Abortion Survivors Protection Act (2019 S.130)?

What to look for when criticizing poetry?

If I delete my router's history can my ISP still provide it to my parents?

How should I handle players who ignore the session zero agreement?

Crontab: Ubuntu running script (noob)

Alien invasion to probe us, why?

Citing paywalled articles accessed via illegal web sharing

A Missing Symbol for This Logo

Words and Words with "ver-" Prefix

Increment each digit in a number to form a new number



Increment each digit in a number to form a new number


Displaying each number of an integer in a sequenceUgly Numbers: A Rags-to-Riches StoryProject Euler # 22: Names scoresProject Euler 25 - x-digit Fibonacci NumberProject Euler #49 Prime permutationsScrabble Tile CounterHackerrank: Lucky Number Eight (Dynamic Programming)HackerRank week of code 32 competition: GeometrickTrickGoogle Foobar level 3BalancedPassword Codility task













3












$begingroup$


Today I've found /r/dailyprogrammer and I've solved an easy challenge. I'm new to coding and I'm not sure if this is good way to solve this kind of problems. Could you, please, give me some hints? How to make my code more clear and readable? Thanks!




Challange description:



A number is input in computer then a new no should get printed by
adding one to each of its digit. If you encounter a 9, insert a 10
(don't carry over, just shift things around).



For example, 998 becomes 10109.



Bonus



This challenge is trivial to do if you map it to a string to iterate
over the input, operate, and then cast it back. Instead, try doing it
without casting it as a string at any point, keep it numeric (int,
float if you need it) only.




private static int Challange(int number)
{
int digits = (int)Math.Log10(number); //this is number of digits -1
int result = 0;
for (int i=0; i <= digits; i++)
{
int tens = (int)(Math.Pow(10, digits - i));
int currentDigit = ((number / tens) % 10);

if (currentDigit == 9) result *= 10;
result += (currentDigit + 1) * tens;
}
return result;
}









share|improve this question









New contributor




nowakasd is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$

















    3












    $begingroup$


    Today I've found /r/dailyprogrammer and I've solved an easy challenge. I'm new to coding and I'm not sure if this is good way to solve this kind of problems. Could you, please, give me some hints? How to make my code more clear and readable? Thanks!




    Challange description:



    A number is input in computer then a new no should get printed by
    adding one to each of its digit. If you encounter a 9, insert a 10
    (don't carry over, just shift things around).



    For example, 998 becomes 10109.



    Bonus



    This challenge is trivial to do if you map it to a string to iterate
    over the input, operate, and then cast it back. Instead, try doing it
    without casting it as a string at any point, keep it numeric (int,
    float if you need it) only.




    private static int Challange(int number)
    {
    int digits = (int)Math.Log10(number); //this is number of digits -1
    int result = 0;
    for (int i=0; i <= digits; i++)
    {
    int tens = (int)(Math.Pow(10, digits - i));
    int currentDigit = ((number / tens) % 10);

    if (currentDigit == 9) result *= 10;
    result += (currentDigit + 1) * tens;
    }
    return result;
    }









    share|improve this question









    New contributor




    nowakasd is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.







    $endgroup$















      3












      3








      3


      1



      $begingroup$


      Today I've found /r/dailyprogrammer and I've solved an easy challenge. I'm new to coding and I'm not sure if this is good way to solve this kind of problems. Could you, please, give me some hints? How to make my code more clear and readable? Thanks!




      Challange description:



      A number is input in computer then a new no should get printed by
      adding one to each of its digit. If you encounter a 9, insert a 10
      (don't carry over, just shift things around).



      For example, 998 becomes 10109.



      Bonus



      This challenge is trivial to do if you map it to a string to iterate
      over the input, operate, and then cast it back. Instead, try doing it
      without casting it as a string at any point, keep it numeric (int,
      float if you need it) only.




      private static int Challange(int number)
      {
      int digits = (int)Math.Log10(number); //this is number of digits -1
      int result = 0;
      for (int i=0; i <= digits; i++)
      {
      int tens = (int)(Math.Pow(10, digits - i));
      int currentDigit = ((number / tens) % 10);

      if (currentDigit == 9) result *= 10;
      result += (currentDigit + 1) * tens;
      }
      return result;
      }









      share|improve this question









      New contributor




      nowakasd is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.







      $endgroup$




      Today I've found /r/dailyprogrammer and I've solved an easy challenge. I'm new to coding and I'm not sure if this is good way to solve this kind of problems. Could you, please, give me some hints? How to make my code more clear and readable? Thanks!




      Challange description:



      A number is input in computer then a new no should get printed by
      adding one to each of its digit. If you encounter a 9, insert a 10
      (don't carry over, just shift things around).



      For example, 998 becomes 10109.



      Bonus



      This challenge is trivial to do if you map it to a string to iterate
      over the input, operate, and then cast it back. Instead, try doing it
      without casting it as a string at any point, keep it numeric (int,
      float if you need it) only.




      private static int Challange(int number)
      {
      int digits = (int)Math.Log10(number); //this is number of digits -1
      int result = 0;
      for (int i=0; i <= digits; i++)
      {
      int tens = (int)(Math.Pow(10, digits - i));
      int currentDigit = ((number / tens) % 10);

      if (currentDigit == 9) result *= 10;
      result += (currentDigit + 1) * tens;
      }
      return result;
      }






      c# programming-challenge






      share|improve this question









      New contributor




      nowakasd is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question









      New contributor




      nowakasd is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question








      edited 2 hours ago









      t3chb0t

      34.7k750121




      34.7k750121






      New contributor




      nowakasd is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 2 hours ago









      nowakasdnowakasd

      162




      162




      New contributor




      nowakasd is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      nowakasd is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      nowakasd is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          1 Answer
          1






          active

          oldest

          votes


















          4












          $begingroup$

          It works, but it's a bit tricky to follow the logic and work out why. If you work from the other end then you can avoid the Log and Pow and shifting the partial result, and I find that easier to read.





          Challange is not a descriptive name. What does the method do? IncrementDigits might be a better name, for example.






          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: "196"
            };
            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
            });


            }
            });






            nowakasd is a new contributor. Be nice, and check out our Code of Conduct.










            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f214403%2fincrement-each-digit-in-a-number-to-form-a-new-number%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            4












            $begingroup$

            It works, but it's a bit tricky to follow the logic and work out why. If you work from the other end then you can avoid the Log and Pow and shifting the partial result, and I find that easier to read.





            Challange is not a descriptive name. What does the method do? IncrementDigits might be a better name, for example.






            share|improve this answer









            $endgroup$


















              4












              $begingroup$

              It works, but it's a bit tricky to follow the logic and work out why. If you work from the other end then you can avoid the Log and Pow and shifting the partial result, and I find that easier to read.





              Challange is not a descriptive name. What does the method do? IncrementDigits might be a better name, for example.






              share|improve this answer









              $endgroup$
















                4












                4








                4





                $begingroup$

                It works, but it's a bit tricky to follow the logic and work out why. If you work from the other end then you can avoid the Log and Pow and shifting the partial result, and I find that easier to read.





                Challange is not a descriptive name. What does the method do? IncrementDigits might be a better name, for example.






                share|improve this answer









                $endgroup$



                It works, but it's a bit tricky to follow the logic and work out why. If you work from the other end then you can avoid the Log and Pow and shifting the partial result, and I find that easier to read.





                Challange is not a descriptive name. What does the method do? IncrementDigits might be a better name, for example.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered 2 hours ago









                Peter TaylorPeter Taylor

                17.4k2862




                17.4k2862






















                    nowakasd is a new contributor. Be nice, and check out our Code of Conduct.










                    draft saved

                    draft discarded


















                    nowakasd is a new contributor. Be nice, and check out our Code of Conduct.













                    nowakasd is a new contributor. Be nice, and check out our Code of Conduct.












                    nowakasd is a new contributor. Be nice, and check out our Code of Conduct.
















                    Thanks for contributing an answer to Code Review Stack Exchange!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    Use MathJax to format equations. MathJax reference.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f214403%2fincrement-each-digit-in-a-number-to-form-a-new-number%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

                    Benedict Cumberbatch Contingut Inicis Debut professional Premis Filmografia bàsica Premis i...

                    Monticle de plataforma Contingut Est de Nord Amèrica Interpretacions Altres cultures Vegeu...

                    Escacs Janus Enllaços externs Menú de navegacióEscacs JanusJanusschachBrainKing.comChessV