私には2つのアルゴリズムがあります。
A. Solves problem in 2^n seconds.
B. Solves problem in n^2 + 1,000,000 seconds.
BがAよりも速いことを帰納的に証明するにはどうすればよいですか。
この問題には、n>2の場合は2^ n> 2n+1が役立つ可能性があると言われています。私は頭を割っていて、この問題を解決することはできません。ありがとう。
「n」はプログラムのサイズに相当します。
編集:すべてのn>19の場合。
解決:
前提:n ^ 2 + 1,000,000 <2 ^ n
基準:
n = 20
1000400 <1048576 TRUE
誘導:
(n+1)^2 + 1000000 > 2^(n+1)
n^2 +2n +1 +1000000 > 2^(n+1)
Apply 2^n > 2n + 1
n^2 + 1000000 > 2^(n+1)
この最後の行は、Bが常にAよりも大きいことを意味します。