回答編集履歴
2
修正
    
        answer	
    CHANGED
    
    | 
         @@ -33,7 +33,7 @@ 
     | 
|
| 
       33 
33 
     | 
    
         | 
| 
       34 
34 
     | 
    
         
             
            ```c
         
     | 
| 
       35 
35 
     | 
    
         
             
            i = 0;
         
     | 
| 
       36 
     | 
    
         
            -
             
     | 
| 
      
 36 
     | 
    
         
            +
            d = a[i][3] / a[i][i];
         
     | 
| 
       37 
37 
     | 
    
         
             
            j = 1; a[i][N] = d - a[i][j]*a[j][N]/a[i][i];
         
     | 
| 
       38 
38 
     | 
    
         
             
            j = 2; a[i][N] = d - a[i][j]*a[j][N]/a[i][i];
         
     | 
| 
       39 
39 
     | 
    
         
             
            ```
         
     | 
1
追記
    
        answer	
    CHANGED
    
    | 
         @@ -9,4 +9,34 @@ 
     | 
|
| 
       9 
9 
     | 
    
         | 
| 
       10 
10 
     | 
    
         
             
            ただし、CPUの演算の中で割り算というのは一番遅い演算と言っても過言ではないので
         
     | 
| 
       11 
11 
     | 
    
         
             
            `(x+y+z) / w = x/w + y/w + z/w`
         
     | 
| 
       12 
     | 
    
         
            -
            という展開は無駄でしかない
         
     | 
| 
      
 12 
     | 
    
         
            +
            という展開は無駄でしかない
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
            ---
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
            **追記**
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            とりあえず、前回の計算式
         
     | 
| 
      
 19 
     | 
    
         
            +
            `a[i][N] = (a[i][N]-なにか) / a[i][i]`を思い出す。
         
     | 
| 
      
 20 
     | 
    
         
            +
            分配する
         
     | 
| 
      
 21 
     | 
    
         
            +
            `a[i][N] = a[i][N]/a[i][i] - なにか/a[i][i]`
         
     | 
| 
      
 22 
     | 
    
         
            +
            あとはそれに従ってプログラムに変換するだけ
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
            ---
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
            > for (i = N - 1; i >= 0; i--) {
         
     | 
| 
      
 27 
     | 
    
         
            +
            >   d = a[i][N]/ a[i][i];
         
     | 
| 
      
 28 
     | 
    
         
            +
            >   for (j = i + 1; j < N; j++)
         
     | 
| 
      
 29 
     | 
    
         
            +
            >     a[i][N] = d- a[i][j] * a[j][N] / a[i][i];
         
     | 
| 
      
 30 
     | 
    
         
            +
            > }
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
            このfor文をi=0,N=3で展開すると
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
            ```c
         
     | 
| 
      
 35 
     | 
    
         
            +
            i = 0;
         
     | 
| 
      
 36 
     | 
    
         
            +
            double d = a[i][3] / a[i][i];
         
     | 
| 
      
 37 
     | 
    
         
            +
            j = 1; a[i][N] = d - a[i][j]*a[j][N]/a[i][i];
         
     | 
| 
      
 38 
     | 
    
         
            +
            j = 2; a[i][N] = d - a[i][j]*a[j][N]/a[i][i];
         
     | 
| 
      
 39 
     | 
    
         
            +
            ```
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
            みたいな感じ
         
     | 
| 
      
 42 
     | 
    
         
            +
            `j=1`の時の計算が丸ごと捨てられています。
         
     |