A faster way to compute the largest prime factor Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?Project Euler #3 - largest prime factorFaster way to determine largest prime factorx64 Assembly - checking for largest prime factorProject Euler #3 (Largest prime factor) in SwiftProject Euler 3: Getting the largest prime factor of a numberVery slow Project Euler Q3 (largest prime factor of a large number)Project Euler 3: Largest prime factorLargest prime factor of a given numberProject Euler 3 - Largest prime factorEuler problem 3: largest prime factor of the numberWork out largest prime factor of a number

A Dictionary or Encyclopedia of Fantasy or Fairy Tales from the 1960s

How to open locks without disable device?

std::is_constructible on incomplete types

How to translate "red flag" into Spanish?

Multiple options vs single option UI

Map material from china not allowed to leave the country

Mistake in years of experience in resume?

What *exactly* is electrical current, voltage, and resistance?

Has a Nobel Peace laureate ever been accused of war crimes?

"My boss was furious with me and I have been fired" vs. "My boss was furious with me and I was fired"

Why did Israel vote against lifting the American embargo on Cuba?

What is a 'Key' in computer science?

Are there moral objections to a life motivated purely by money? How to sway a person from this lifestyle?

How to avoid introduction cliches

What is this word supposed to be?

Why isn't everyone flabbergasted about Bran's "gift"?

All ASCII characters with a given bit count

Married in secret, can marital status in passport be changed at a later date?

Does Feeblemind produce an ongoing magical effect that can be dispelled?

Implementing 3DES algorithm in Java: is my code secure?

What to do with someone that cheated their way through university and a PhD program?

Retract an already submitted recommendation letter (written for an undergrad student)

Could moose/elk survive in the Amazon forest?

What ability score does a Hexblade's Pact Weapon use for attack and damage when wielded by another character?



A faster way to compute the largest prime factor



Announcing the arrival of Valued Associate #679: Cesar Manara
Unicorn Meta Zoo #1: Why another podcast?Project Euler #3 - largest prime factorFaster way to determine largest prime factorx64 Assembly - checking for largest prime factorProject Euler #3 (Largest prime factor) in SwiftProject Euler 3: Getting the largest prime factor of a numberVery slow Project Euler Q3 (largest prime factor of a large number)Project Euler 3: Largest prime factorLargest prime factor of a given numberProject Euler 3 - Largest prime factorEuler problem 3: largest prime factor of the numberWork out largest prime factor of a number



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








1












$begingroup$


I am self-learning js and came across this problem(#3) from the Euler Project




The prime factors of 13195 are 5, 7, 13 and 29.



What is the largest prime factor of the number 600851475143 ?




Logic:



  • Have an array primes to store all the prime numbers less than number


  • Loop through the odd numbers only below number to check for primes using i



  • Check if i is divisible by any of the elements already in primes.



    • If yes, isPrime = false and break the for loop for j by j=primesLength

    • If not, isPrime = true



  • If isPrime == true then add i to the array primes and check if number%i == 0



    • If number%i == 0% update the value of factor as factor = i


  • Return factor after looping through all the numbers below number


My code:






function problem3(number)
let factor = 1;
let primes = [2]; //array to store prime numbers

for(let i=3; i<number; i=i+2) //Increment i by 2 to loop through only odd numbers
let isPrime = true;
let primesLength= primes.length;

for(let j=0; j< primesLength; j++)
if(i%primes[j]==0)
isPrime = false;
j=primesLength; //to break the for loop



if(isPrime == true)
primes.push(i);
if(number%i == 0)
factor = i;



return factor;


console.log(problem3(600851475143));





It is working perfectly for small numbers, but is quite very slow for 600851475143. What should I change in this code to make the computation faster?










share|improve this question









New contributor




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







$endgroup$


















    1












    $begingroup$


    I am self-learning js and came across this problem(#3) from the Euler Project




    The prime factors of 13195 are 5, 7, 13 and 29.



    What is the largest prime factor of the number 600851475143 ?




    Logic:



    • Have an array primes to store all the prime numbers less than number


    • Loop through the odd numbers only below number to check for primes using i



    • Check if i is divisible by any of the elements already in primes.



      • If yes, isPrime = false and break the for loop for j by j=primesLength

      • If not, isPrime = true



    • If isPrime == true then add i to the array primes and check if number%i == 0



      • If number%i == 0% update the value of factor as factor = i


    • Return factor after looping through all the numbers below number


    My code:






    function problem3(number)
    let factor = 1;
    let primes = [2]; //array to store prime numbers

    for(let i=3; i<number; i=i+2) //Increment i by 2 to loop through only odd numbers
    let isPrime = true;
    let primesLength= primes.length;

    for(let j=0; j< primesLength; j++)
    if(i%primes[j]==0)
    isPrime = false;
    j=primesLength; //to break the for loop



    if(isPrime == true)
    primes.push(i);
    if(number%i == 0)
    factor = i;



    return factor;


    console.log(problem3(600851475143));





    It is working perfectly for small numbers, but is quite very slow for 600851475143. What should I change in this code to make the computation faster?










    share|improve this question









    New contributor




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







    $endgroup$














      1












      1








      1





      $begingroup$


      I am self-learning js and came across this problem(#3) from the Euler Project




      The prime factors of 13195 are 5, 7, 13 and 29.



      What is the largest prime factor of the number 600851475143 ?




      Logic:



      • Have an array primes to store all the prime numbers less than number


      • Loop through the odd numbers only below number to check for primes using i



      • Check if i is divisible by any of the elements already in primes.



        • If yes, isPrime = false and break the for loop for j by j=primesLength

        • If not, isPrime = true



      • If isPrime == true then add i to the array primes and check if number%i == 0



        • If number%i == 0% update the value of factor as factor = i


      • Return factor after looping through all the numbers below number


      My code:






      function problem3(number)
      let factor = 1;
      let primes = [2]; //array to store prime numbers

      for(let i=3; i<number; i=i+2) //Increment i by 2 to loop through only odd numbers
      let isPrime = true;
      let primesLength= primes.length;

      for(let j=0; j< primesLength; j++)
      if(i%primes[j]==0)
      isPrime = false;
      j=primesLength; //to break the for loop



      if(isPrime == true)
      primes.push(i);
      if(number%i == 0)
      factor = i;



      return factor;


      console.log(problem3(600851475143));





      It is working perfectly for small numbers, but is quite very slow for 600851475143. What should I change in this code to make the computation faster?










      share|improve this question









      New contributor




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







      $endgroup$




      I am self-learning js and came across this problem(#3) from the Euler Project




      The prime factors of 13195 are 5, 7, 13 and 29.



      What is the largest prime factor of the number 600851475143 ?




      Logic:



      • Have an array primes to store all the prime numbers less than number


      • Loop through the odd numbers only below number to check for primes using i



      • Check if i is divisible by any of the elements already in primes.



        • If yes, isPrime = false and break the for loop for j by j=primesLength

        • If not, isPrime = true



      • If isPrime == true then add i to the array primes and check if number%i == 0



        • If number%i == 0% update the value of factor as factor = i


      • Return factor after looping through all the numbers below number


      My code:






      function problem3(number)
      let factor = 1;
      let primes = [2]; //array to store prime numbers

      for(let i=3; i<number; i=i+2) //Increment i by 2 to loop through only odd numbers
      let isPrime = true;
      let primesLength= primes.length;

      for(let j=0; j< primesLength; j++)
      if(i%primes[j]==0)
      isPrime = false;
      j=primesLength; //to break the for loop



      if(isPrime == true)
      primes.push(i);
      if(number%i == 0)
      factor = i;



      return factor;


      console.log(problem3(600851475143));





      It is working perfectly for small numbers, but is quite very slow for 600851475143. What should I change in this code to make the computation faster?






      function problem3(number)
      let factor = 1;
      let primes = [2]; //array to store prime numbers

      for(let i=3; i<number; i=i+2) //Increment i by 2 to loop through only odd numbers
      let isPrime = true;
      let primesLength= primes.length;

      for(let j=0; j< primesLength; j++)
      if(i%primes[j]==0)
      isPrime = false;
      j=primesLength; //to break the for loop



      if(isPrime == true)
      primes.push(i);
      if(number%i == 0)
      factor = i;



      return factor;


      console.log(problem3(600851475143));





      function problem3(number)
      let factor = 1;
      let primes = [2]; //array to store prime numbers

      for(let i=3; i<number; i=i+2) //Increment i by 2 to loop through only odd numbers
      let isPrime = true;
      let primesLength= primes.length;

      for(let j=0; j< primesLength; j++)
      if(i%primes[j]==0)
      isPrime = false;
      j=primesLength; //to break the for loop



      if(isPrime == true)
      primes.push(i);
      if(number%i == 0)
      factor = i;



      return factor;


      console.log(problem3(600851475143));






      javascript beginner programming-challenge time-limit-exceeded primes






      share|improve this question









      New contributor




      Eagle 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




      Eagle 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 1 hour ago









      200_success

      131k17157422




      131k17157422






      New contributor




      Eagle 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









      EagleEagle

      1085




      1085




      New contributor




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





      New contributor





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






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




















          2 Answers
          2






          active

          oldest

          votes


















          3












          $begingroup$

          There are many questions about Project Euler 3 on this site already. The trick is to pick an algorithm that…



          • Reduces n whenever you find a factor, so that you don't need to consider factors anywhere near as large as 600851475143

          • Only finds prime factors, and never composite factors, so that you never need to explicitly test for primality.

          Your algorithm suffers on both criteria: the outer for loop goes all the way up to 600851475143 (which is insane), and you're testing each of those numbers for primality (which is incredibly computationally expensive).






          share|improve this answer









          $endgroup$




















            1












            $begingroup$

            The first problem is that you are trying to find all prime numbers under number. The number of prime numbers under x is approximately x/ln(x) which is around 22153972243.4 for our specific value of x



            This is way too big ! So even if you where capable of obtaining each of these prime numbers in constant time it would take too much time.



            This tells us this approach is most likely unfixable.






            share|improve this answer








            New contributor




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






            $endgroup$













              Your Answer






              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
              );



              );






              Eagle 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%2f219063%2fa-faster-way-to-compute-the-largest-prime-factor%23new-answer', 'question_page');

              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              3












              $begingroup$

              There are many questions about Project Euler 3 on this site already. The trick is to pick an algorithm that…



              • Reduces n whenever you find a factor, so that you don't need to consider factors anywhere near as large as 600851475143

              • Only finds prime factors, and never composite factors, so that you never need to explicitly test for primality.

              Your algorithm suffers on both criteria: the outer for loop goes all the way up to 600851475143 (which is insane), and you're testing each of those numbers for primality (which is incredibly computationally expensive).






              share|improve this answer









              $endgroup$

















                3












                $begingroup$

                There are many questions about Project Euler 3 on this site already. The trick is to pick an algorithm that…



                • Reduces n whenever you find a factor, so that you don't need to consider factors anywhere near as large as 600851475143

                • Only finds prime factors, and never composite factors, so that you never need to explicitly test for primality.

                Your algorithm suffers on both criteria: the outer for loop goes all the way up to 600851475143 (which is insane), and you're testing each of those numbers for primality (which is incredibly computationally expensive).






                share|improve this answer









                $endgroup$















                  3












                  3








                  3





                  $begingroup$

                  There are many questions about Project Euler 3 on this site already. The trick is to pick an algorithm that…



                  • Reduces n whenever you find a factor, so that you don't need to consider factors anywhere near as large as 600851475143

                  • Only finds prime factors, and never composite factors, so that you never need to explicitly test for primality.

                  Your algorithm suffers on both criteria: the outer for loop goes all the way up to 600851475143 (which is insane), and you're testing each of those numbers for primality (which is incredibly computationally expensive).






                  share|improve this answer









                  $endgroup$



                  There are many questions about Project Euler 3 on this site already. The trick is to pick an algorithm that…



                  • Reduces n whenever you find a factor, so that you don't need to consider factors anywhere near as large as 600851475143

                  • Only finds prime factors, and never composite factors, so that you never need to explicitly test for primality.

                  Your algorithm suffers on both criteria: the outer for loop goes all the way up to 600851475143 (which is insane), and you're testing each of those numbers for primality (which is incredibly computationally expensive).







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered 1 hour ago









                  200_success200_success

                  131k17157422




                  131k17157422























                      1












                      $begingroup$

                      The first problem is that you are trying to find all prime numbers under number. The number of prime numbers under x is approximately x/ln(x) which is around 22153972243.4 for our specific value of x



                      This is way too big ! So even if you where capable of obtaining each of these prime numbers in constant time it would take too much time.



                      This tells us this approach is most likely unfixable.






                      share|improve this answer








                      New contributor




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






                      $endgroup$

















                        1












                        $begingroup$

                        The first problem is that you are trying to find all prime numbers under number. The number of prime numbers under x is approximately x/ln(x) which is around 22153972243.4 for our specific value of x



                        This is way too big ! So even if you where capable of obtaining each of these prime numbers in constant time it would take too much time.



                        This tells us this approach is most likely unfixable.






                        share|improve this answer








                        New contributor




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






                        $endgroup$















                          1












                          1








                          1





                          $begingroup$

                          The first problem is that you are trying to find all prime numbers under number. The number of prime numbers under x is approximately x/ln(x) which is around 22153972243.4 for our specific value of x



                          This is way too big ! So even if you where capable of obtaining each of these prime numbers in constant time it would take too much time.



                          This tells us this approach is most likely unfixable.






                          share|improve this answer








                          New contributor




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






                          $endgroup$



                          The first problem is that you are trying to find all prime numbers under number. The number of prime numbers under x is approximately x/ln(x) which is around 22153972243.4 for our specific value of x



                          This is way too big ! So even if you where capable of obtaining each of these prime numbers in constant time it would take too much time.



                          This tells us this approach is most likely unfixable.







                          share|improve this answer








                          New contributor




                          Jorge Fernández 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 answer



                          share|improve this answer






                          New contributor




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









                          answered 49 mins ago









                          Jorge FernándezJorge Fernández

                          1645




                          1645




                          New contributor




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





                          New contributor





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






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




















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









                              draft saved

                              draft discarded


















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












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











                              Eagle 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%2f219063%2fa-faster-way-to-compute-the-largest-prime-factor%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

                              Magento 2 duplicate PHPSESSID cookie when using session_start() in custom php scriptMagento 2: User cant logged in into to account page, no error showing!Magento duplicate on subdomainGrabbing storeview from cookie (after using language selector)How do I run php custom script on magento2Magento 2: Include PHP script in headerSession lock after using Cm_RedisSessionscript php to update stockMagento set cookie popupMagento 2 session id cookie - where to find it?How to import Configurable product from csv with custom attributes using php scriptMagento 2 run custom PHP script

                              Can not update quote_id field of “quote_item” table magento 2Magento 2.1 - We can't remove the item. (Shopping Cart doesnt allow us to remove items before becomes empty)Add value for custom quote item attribute using REST apiREST API endpoint v1/carts/cartId/items always returns error messageCorrect way to save entries to databaseHow to remove all associated quote objects of a customer completelyMagento 2 - Save value from custom input field to quote_itemGet quote_item data using quote id and product id filter in Magento 2How to set additional data to quote_item table from controller in Magento 2?What is the purpose of additional_data column in quote_item table in magento2Set Custom Price to Quote item magento2 from controller

                              How to solve knockout JS error in Magento 2 Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?(Magento2) knockout.js:3012 Uncaught ReferenceError: Unable to process bindingUnable to process binding Knockout.js magento 2Cannot read property `scopeLabel` of undefined on Product Detail PageCan't get Customer Data on frontend in Magento 2Magento2 Order Summary - unable to process bindingKO templates are not loading in Magento 2.1 applicationgetting knockout js error magento 2Product grid not load -— Unable to process binding Knockout.js magento 2Product form not loaded in magento2Uncaught ReferenceError: Unable to process binding “if: function()return (isShowLegend()) ” magento 2