回答編集履歴
2
計算式の改善
answer
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
9/13追記:出力だけが目当てなら、次の式を使えば、O(1)にすることが可能です。
|
5
5
|
```python3
|
6
6
|
N = 100
|
7
|
-
cnt = ((N-1)*N*(N+
|
7
|
+
cnt = ((N-1)*N*(N+7))//6 - (N*N)//4
|
8
8
|
print(cnt)
|
9
9
|
```
|
10
10
|
なぜこれで計算できるのかは、そこまで難しい話でもないので、投稿者さんの課題ということにしておきます。
|
1
アルゴリズムの改善について追記
answer
CHANGED
@@ -1,3 +1,10 @@
|
|
1
1
|
はい、特に最適化などかけていなければ、ループはループのままなので、オーダーはO(N^3)です。
|
2
2
|
|
3
|
+
---
|
3
|
-
|
4
|
+
9/13追記:出力だけが目当てなら、次の式を使えば、O(1)にすることが可能です。
|
5
|
+
```python3
|
6
|
+
N = 100
|
7
|
+
cnt = ((N-1)*N*(N+1))//6 + (N-1)*N - ((N*N)//4)
|
8
|
+
print(cnt)
|
9
|
+
```
|
10
|
+
なぜこれで計算できるのかは、そこまで難しい話でもないので、投稿者さんの課題ということにしておきます。
|