はじめに
証明に入る前に、そもそも、計算量が
Python で書かれた以下の関数
def f(x):
total = 0
for k in range(1, x + 1):
total += k
return total
これから、標準入力として
# 関数 f(x)
def f(x):
total = 0
for k in range(1, x + 1):
total += k
return total
# 標準入力
n = int(input())
m = int(input())
if n > m:
print(f(n))
else:
print(f(m))
# 関数 f(x)
def f(x):
total = 0
for k in range(1, x + 1):
total += k
return total
# 標準入力
n = int(input())
m = int(input())
print(f(n))
print(f(m))
証明
のとき となるので、 が言えます。 の両辺に正の定数 を掛けると、 となります。両辺に を加えると、 すなわち、 が成り立ちます。 記法の定義より、 なので、 が言えます。
以上より、
のとき となるので、 が言えます。 の両辺に正の定数 を掛けると、 となります。両辺に を加えると すなわち、 が成り立ちます。 記法の定義より、 なので、 が言えます。
以上より、
したがって、
Comments
「1=2を証明する」的なネタ記事だと思いますがネタタグを使うだとか記事の最後でネタばらしをされるだとかされると良いと思います。
@fujitanozomu
あなたがオーダー記法についてどの程度理解されているのか知りませんが、ネタではありません。ネタであれば証明のどこかに不備があることになりますが、それを指摘せずにネタと決めつけるのは良くないです。
実際、O(max(n, m)) を O(n + m) と書き表しても問題ないことから、AtCoder の解説記事などでもこの表現は用いられています。例えば、以下の解説記事は O(max(N, Q)) を O(N + Q) で書き表している例です。
https://atcoder.jp/contests/ABC328/editorial/7648
ネタのつもりではないのですか。それは失礼しました。
Let's comment your feelings that are more than good