Как найти значение n - PullRequest
0 голосов
/ 12 января 2020

Рассмотрим две программы, A и B. Программа A требует 1000 * n ^ 2 (1000 умножается на n на степень 2) операций, а программа B требует 2 ^ n (2 на степень n) операций. Для каких значений n Программа A будет выполняться быстрее, чем Программа B?

Ответы [ 2 ]

1 голос
/ 12 января 2020

Самый простой способ сравнить обе эти сложности - просто отобразить их в виде графиков.

Graph showing both equations

Просто посмотрите, где пересекаются линии, то есть 18,36. Поэтому, если n меньше 18,36, программа a будет выполняться быстрее.

Для точного ответа вы можете сделать два уравнения равными друг другу, а затем решить для n или просто использовать WolframAlpha: https://www.wolframalpha.com/input/?i=1000x%5E2%3D2%5Ex

0 голосов
/ 12 января 2020

Для n> 18,3

Решите 1000 * n ^ 2 = 2 ^ n для точного решения или используйте WolframAlpha

...