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