Q&A
解決済
2回答
1450閲覧
総合スコア36
Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。
0グッド
0クリップ
投稿2021/06/10 18:41
0
Python1cnt=0 2for i in range(n): 3 for j in range(i,n): 4 sum=0 5 for k in range(i,j): 6 sum+=a[k] 7 if sum==N: 8 cnt+=1 9retun cnt
Python
1cnt=0 2for i in range(n): 3 for j in range(i,n): 4 sum=0 5 for k in range(i,j): 6 sum+=a[k] 7 if sum==N: 8 cnt+=1 9retun cnt
これの計算量ってO(n^3)ですよね?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
2021/06/10 22:13
回答2件
ベストアンサー
ちゃんと動くコードを掲載してもらえれば、簡単な回答で済んだのですが、質問が変更されないのでめんどうな回答をします。
分かりません。 O(n^2)でないことは断言できますが、適当に補ってO(n^4)とかO(n^5)となるようなコードを作ることは可能です。
同じ程度に不完全なC言語で書かれたコードで同じような質問をされたとすれば、O(n^3)であることは断言できます。 Pythonには特殊メソッドというものがありますので、aのクラス次第で、O(n^4)でもO(n^5)でも作れてしまいます。 最近のC++は詳しくはありませんが、aの宣言が書かれていなければ同じ事がいえると思います。 FORTRNは古い規格の言語ですが、PythonやC++とは別の理由によってO(n^4)でもO(n^5)でも作れてしまいます。
初心者の方には難しいかもしれませんが、Pythonについての詳しいことを知りたければ、object.getitem(self, key)を読んで勉強してください。
投稿2021/06/11 10:04
総合スコア24672
ifを無視しまして最悪計算量で考えますとO(n^3)でございます。
投稿2021/06/10 23:09
総合スコア329
回答へのコメント
2021/06/11 04:56
2021/06/11 05:18
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.29%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
for文の計算量について