_RayBoy_

Лекция 2. Упражнение 3

Feb 18th, 2022 (edited)
1,120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.75 KB | None | 0 0
  1. """ Ниже приведена таблица, строки которой соответствуют
  2.    различным функциям 𝑓(𝑛), а столбцы – значениям времени 𝑡.
  3.    Заполните таблицу максимальными значениями 𝑛, для которых
  4.    задача может быть решена за время 𝑡, если предполагается, что
  5.    время работы алгоритма, необходимое для решения задачи, равно
  6.    𝑓(𝑛) микросекунд."""
  7. from math import log
  8. from pprint import pprint
  9.  
  10. data = {
  11.     "lgn": [],
  12.     "sqrtn": [],
  13.     "n": [],
  14.     "nlgn": [],
  15.     "n^2": [],
  16.     "n^3": [],
  17.     "2^n": [],
  18.     "n!": []
  19. }
  20.  
  21. second_microsecond = 1000000
  22. minute_microsecond = 60 * second_microsecond
  23. hour_microsecond = 60 * minute_microsecond
  24. day_microsecond = 24 * hour_microsecond
  25. month_microsecond = 30 * day_microsecond  # Допустим, в месяце будет 30 дней
  26. year_microsecond = 12 * month_microsecond
  27. century_microsecond = 100 * year_microsecond
  28.  
  29. auxiliary_data = [second_microsecond, minute_microsecond, hour_microsecond,
  30.                   day_microsecond, month_microsecond, year_microsecond,
  31.                   century_microsecond]
  32.  
  33. data["n"] = auxiliary_data
  34. data["n^2"] = [int(i ** (1 / 2)) for i in auxiliary_data]  # Данные получаются дробные, отбросим то, что после запятой
  35. data["n^3"] = [int(i ** (1 / 3)) for i in auxiliary_data]
  36. data["lgn"] = [f"10^{i}" for i in auxiliary_data]
  37. data["sqrtn"] = [int(i ** 2) for i in auxiliary_data]
  38. data["2^n"] = [int(log(i, 2)) for i in auxiliary_data]
  39.  
  40. pprint(data)
  41.  
Add Comment
Please, Sign In to add comment