Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import datetime
- #Перевірка чи є N простим, перебором всіх цифр до кореня N
- def is_prime(number):
- number = int(number)
- if number == 1:
- return False
- for i in range(2, int(number ** 0.5) + 1):
- if number % i == 0:
- return False
- return True
- #Перевірка чи є N простим, перебором всіх непарних цифр до кореня N
- def is_prime_v2(number):
- number = int(number)
- if number == 1:
- return False
- if number % 2 == 0:
- return False
- for i in range(3, int(number ** 0.5) + 1, 2):
- if number % i == 0:
- return False
- return True
- def main():
- n = input("Enter N: ")
- #Запускаємо таймер виконання 1 алгоритму
- start = datetime.datetime.now()
- if is_prime(n):
- print("N is prime")
- else:
- print("N is not prime")
- #зупиняємо таймер
- end = datetime.datetime.now()
- #підраховуєм різницю часу
- delta = end - start
- #виводимо за скільки часу виконався 1 алгоритм
- print("Time: ", delta.microseconds,"\n")
- print("Second algorihtm \n")
- # Запускаємо таймер виконання 2 алгоритму
- start2 = datetime.datetime.now()
- if is_prime(n):
- print("N is prime")
- else:
- print("N is not prime")
- # зупиняємо таймер
- end2 = datetime.datetime.now()
- # підраховуєм різницю часу
- delta2 = end2 - start2
- # виводимо за скільки часу виконався 2 алгоритм
- print("Time: ", delta2.microseconds,"\n")
- #якщо час виконання 2 алгоритму дорівнює 0
- #то підраховуємо на скільки мілісекунд 2 виконується швидше
- if delta2.microseconds == 0:
- print("Algorithm faster in {0} miliseconds:".format(delta.microseconds))
- else:
- #інакше підраховуємо у скільки 2 алгоритм швидше за 1
- eff = delta.microseconds / delta2.microseconds
- #результат виводим з точністю у 0,001
- print("Algorithm faster in {0} times:".format(round(eff, 3)))
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement