optimizing program performance












0














The program below is meant to find all of the fare prime numbers under a user specified value. A fare prime being a number that when its digits are rotated, each combination makes a prime number. An example being 133 because 113, 311, and 131 are all prime numbers. My current problem is that the program takes a very long time to process very large numbers so I need a way of making it run quicker.



#get user input for the number range
n = int(input("number"))
primes =
#find all the prime numbers up to the specified value and append them to a list
for num in range(2, n+1):
for i in range(2, num):
if num % i == 0:
break
else:
primes.append(num)

#find out if the prime number is a fare prime
for i in primes:
length = len(str(i))
#if the number has one digit it is automatically a fare prime
if length == 1:
print(i)
#if the number is longer, rotate the digits to see if it is a fare prime
if length >= 2:
number = i
fare_primes =
#rotate the number to figure out if all combinations are prime
for j in range(length):
#turns # into a list of digits
digit_list = list(str(number))
#rearranges
number = [*digit_list[1::], digit_list[0]]
part = ""
#turns it back into an int value
number = part.join(number)
int_num = int(number)
#check if # is prime
for divider in range(2,int_num):
if int_num % divider == 0:
break
else:
fare_primes.append(number)
#if all combinations of the digits are prime the original # is printed
if len(fare_primes) == length:
print(fare_primes[-1])








share







New contributor




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

























    0














    The program below is meant to find all of the fare prime numbers under a user specified value. A fare prime being a number that when its digits are rotated, each combination makes a prime number. An example being 133 because 113, 311, and 131 are all prime numbers. My current problem is that the program takes a very long time to process very large numbers so I need a way of making it run quicker.



    #get user input for the number range
    n = int(input("number"))
    primes =
    #find all the prime numbers up to the specified value and append them to a list
    for num in range(2, n+1):
    for i in range(2, num):
    if num % i == 0:
    break
    else:
    primes.append(num)

    #find out if the prime number is a fare prime
    for i in primes:
    length = len(str(i))
    #if the number has one digit it is automatically a fare prime
    if length == 1:
    print(i)
    #if the number is longer, rotate the digits to see if it is a fare prime
    if length >= 2:
    number = i
    fare_primes =
    #rotate the number to figure out if all combinations are prime
    for j in range(length):
    #turns # into a list of digits
    digit_list = list(str(number))
    #rearranges
    number = [*digit_list[1::], digit_list[0]]
    part = ""
    #turns it back into an int value
    number = part.join(number)
    int_num = int(number)
    #check if # is prime
    for divider in range(2,int_num):
    if int_num % divider == 0:
    break
    else:
    fare_primes.append(number)
    #if all combinations of the digits are prime the original # is printed
    if len(fare_primes) == length:
    print(fare_primes[-1])








    share







    New contributor




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























      0












      0








      0







      The program below is meant to find all of the fare prime numbers under a user specified value. A fare prime being a number that when its digits are rotated, each combination makes a prime number. An example being 133 because 113, 311, and 131 are all prime numbers. My current problem is that the program takes a very long time to process very large numbers so I need a way of making it run quicker.



      #get user input for the number range
      n = int(input("number"))
      primes =
      #find all the prime numbers up to the specified value and append them to a list
      for num in range(2, n+1):
      for i in range(2, num):
      if num % i == 0:
      break
      else:
      primes.append(num)

      #find out if the prime number is a fare prime
      for i in primes:
      length = len(str(i))
      #if the number has one digit it is automatically a fare prime
      if length == 1:
      print(i)
      #if the number is longer, rotate the digits to see if it is a fare prime
      if length >= 2:
      number = i
      fare_primes =
      #rotate the number to figure out if all combinations are prime
      for j in range(length):
      #turns # into a list of digits
      digit_list = list(str(number))
      #rearranges
      number = [*digit_list[1::], digit_list[0]]
      part = ""
      #turns it back into an int value
      number = part.join(number)
      int_num = int(number)
      #check if # is prime
      for divider in range(2,int_num):
      if int_num % divider == 0:
      break
      else:
      fare_primes.append(number)
      #if all combinations of the digits are prime the original # is printed
      if len(fare_primes) == length:
      print(fare_primes[-1])








      share







      New contributor




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











      The program below is meant to find all of the fare prime numbers under a user specified value. A fare prime being a number that when its digits are rotated, each combination makes a prime number. An example being 133 because 113, 311, and 131 are all prime numbers. My current problem is that the program takes a very long time to process very large numbers so I need a way of making it run quicker.



      #get user input for the number range
      n = int(input("number"))
      primes =
      #find all the prime numbers up to the specified value and append them to a list
      for num in range(2, n+1):
      for i in range(2, num):
      if num % i == 0:
      break
      else:
      primes.append(num)

      #find out if the prime number is a fare prime
      for i in primes:
      length = len(str(i))
      #if the number has one digit it is automatically a fare prime
      if length == 1:
      print(i)
      #if the number is longer, rotate the digits to see if it is a fare prime
      if length >= 2:
      number = i
      fare_primes =
      #rotate the number to figure out if all combinations are prime
      for j in range(length):
      #turns # into a list of digits
      digit_list = list(str(number))
      #rearranges
      number = [*digit_list[1::], digit_list[0]]
      part = ""
      #turns it back into an int value
      number = part.join(number)
      int_num = int(number)
      #check if # is prime
      for divider in range(2,int_num):
      if int_num % divider == 0:
      break
      else:
      fare_primes.append(number)
      #if all combinations of the digits are prime the original # is printed
      if len(fare_primes) == length:
      print(fare_primes[-1])






      python performance python-3.x





      share







      New contributor




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










      share







      New contributor




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








      share



      share






      New contributor




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









      asked 3 mins ago









      Dory26

      1




      1




      New contributor




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





      New contributor





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






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



























          active

          oldest

          votes











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


          }
          });






          Dory26 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%2f210254%2foptimizing-program-performance%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown






























          active

          oldest

          votes













          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








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










          draft saved

          draft discarded


















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













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












          Dory26 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.





          Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


          Please pay close attention to the following guidance:


          • 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.


          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%2f210254%2foptimizing-program-performance%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

          Costa Masnaga

          Fotorealismo

          Sidney Franklin