Advertisement
Guest User

Untitled

a guest
Nov 18th, 2018
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.41 KB | None | 0 0
  1. import datetime
  2.  
  3. #Перевірка чи є N простим, перебором всіх цифр до кореня N
  4. def is_prime(number):
  5. number = int(number)
  6.  
  7. if number == 1:
  8. return False
  9.  
  10. for i in range(2, int(number ** 0.5) + 1):
  11. if number % i == 0:
  12. return False
  13.  
  14. return True
  15.  
  16. #Перевірка чи є N простим, перебором всіх непарних цифр до кореня N
  17. def is_prime_v2(number):
  18. number = int(number)
  19.  
  20. if number == 1:
  21. return False
  22. if number % 2 == 0:
  23. return False
  24.  
  25. for i in range(3, int(number ** 0.5) + 1, 2):
  26.  
  27. if number % i == 0:
  28. return False
  29.  
  30. return True
  31.  
  32.  
  33. def main():
  34. n = input("Enter N: ")
  35.  
  36. #Запускаємо таймер виконання 1 алгоритму
  37. start = datetime.datetime.now()
  38.  
  39. if is_prime(n):
  40. print("N is prime")
  41. else:
  42. print("N is not prime")
  43. #зупиняємо таймер
  44. end = datetime.datetime.now()
  45. #підраховуєм різницю часу
  46. delta = end - start
  47. #виводимо за скільки часу виконався 1 алгоритм
  48. print("Time: ", delta.microseconds,"\n")
  49.  
  50. print("Second algorihtm \n")
  51.  
  52. # Запускаємо таймер виконання 2 алгоритму
  53. start2 = datetime.datetime.now()
  54.  
  55. if is_prime(n):
  56. print("N is prime")
  57. else:
  58. print("N is not prime")
  59. # зупиняємо таймер
  60. end2 = datetime.datetime.now()
  61. # підраховуєм різницю часу
  62. delta2 = end2 - start2
  63. # виводимо за скільки часу виконався 2 алгоритм
  64. print("Time: ", delta2.microseconds,"\n")
  65.  
  66. #якщо час виконання 2 алгоритму дорівнює 0
  67. #то підраховуємо на скільки мілісекунд 2 виконується швидше
  68. if delta2.microseconds == 0:
  69. print("Algorithm faster in {0} miliseconds:".format(delta.microseconds))
  70. else:
  71. #інакше підраховуємо у скільки 2 алгоритм швидше за 1
  72. eff = delta.microseconds / delta2.microseconds
  73. #результат виводим з точністю у 0,001
  74. print("Algorithm faster in {0} times:".format(round(eff, 3)))
  75.  
  76. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement