回答編集履歴
3
微修正
answer
CHANGED
@@ -33,7 +33,7 @@
|
|
33
33
|
```
|
34
34
|
// [A'']
|
35
35
|
for (i = N - 1; i >= 0; i--) {
|
36
|
-
double* d = &a[
|
36
|
+
double* d = &a[i][N];
|
37
37
|
*d /= a[i][i];
|
38
38
|
for (j = i + 1; j < N; j++) {
|
39
39
|
*d -= a[i][j] * a[j][N] / a[i][i];
|
2
加筆
answer
CHANGED
@@ -27,4 +27,16 @@
|
|
27
27
|
d = a[N-1][N]/ a[N-1][N-1];
|
28
28
|
```
|
29
29
|
|
30
|
-
[B']は a[N-1][N]を書き換えない。両者が同じワケがないやろ。
|
30
|
+
[B']は a[N-1][N]を書き換えない。両者が同じワケがないやろ。
|
31
|
+
|
32
|
+
毎回 a[i][N] にアクセスすることで速度低下を懸念するなら
|
33
|
+
```
|
34
|
+
// [A'']
|
35
|
+
for (i = N - 1; i >= 0; i--) {
|
36
|
+
double* d = &a[I][N];
|
37
|
+
*d /= a[i][i];
|
38
|
+
for (j = i + 1; j < N; j++) {
|
39
|
+
*d -= a[i][j] * a[j][N] / a[i][i];
|
40
|
+
}
|
41
|
+
}
|
42
|
+
```
|
1
微修正
answer
CHANGED
@@ -2,8 +2,9 @@
|
|
2
2
|
// [A]
|
3
3
|
for (i = N - 1; i >= 0; i--) {
|
4
4
|
a[i][N] /= a[i][i];
|
5
|
-
for (j = i + 1; j < N; j++)
|
5
|
+
for (j = i + 1; j < N; j++) {
|
6
6
|
a[i][N] -= a[i][j] * a[j][N] / a[i][i];
|
7
|
+
}
|
7
8
|
}
|
8
9
|
```
|
9
10
|
```
|