基本情報 アルゴリズムについて質問です。bとcが正解のようになるのはなぜですか?

1件の回答

回答を書く

1176285

2026-02-03 21:55

+ フォロー

>bとcが正解のようになるのはなぜ

>T(1)~T(10)も各要素にT(i)=1+2+・・・+i





最初に

求めるT(i)は以下

  T(1) ← 1

  T(2) ← 1+2

  T(3) ← 1+2+3

  T(4) ← 1+2+3+4

    :  ← 

  T(10)← 1+2+3+ ・・・ +10 (即ち、55)





基本型は



sum=0;

for i in range(1,11,1) ... iを1から10まで1ずつ増やす

   sum  ← sum + i

   T(i) ← sum



sumの値は、 1, (1+2), (1+2+3) と変化します。



★以下トレースは、コピーして「等間隔フォント」アプリ(例えばメモ帳)に貼付けて下さい





基本型のトレース...T(i) ← sum

-----+---+---+------------------------

 step| i |sum|

-----+---+---+------------------------

   0 |   | 0 |sum初期値

   1 | 1 | 1 |sum ← sum(0) + i(1)

   2 | 2 | 3 |sum ← sum(1) + i(2)

   3 | 3 | 6 |sum ← sum(3) + i(3)

   4 | 4 |10 |sum ← sum(6) + i(4)





※T(i)に書込む値を上記のsum相当に変化させる





設問右側が基本型に近い

-----+---+---------------------------------------

 step| i |        T

     |   |(1)|(2)|(3)|(4)|・・・|

-----+---+---+---+---+---+---+-------------------

   0 |   | 1 |   |   |   |   |初期値  T(1) ← 1

   0 | 2 |   |   |   |   |   |初期値  i ← 2

   1 |   |   | 2 |   |   |   |T(i) ← T(i-1)+i ... 1+1

   2 | 3 |   |   |   |   |   |i ← i + 1

   3 |   |   |   | 6 |   |   |T(i) ← T(i-1)+i ... 3+3

   4 | 4 |   |   |   |   |   |i ← i + 1

   5 |   |   |   |   | 10|   |T(i) ← T(i-1)+i ... 6+4

   6 | 5 |   |   |   |   |   |i ← i + 1







設問左側は、sum相当の値を二重ループ内側で実装

-----+---+---+-------------------------------------------------------

 step| i | j |        T

     |   |   |(1)|(2)|(3)|(4)|・・・|

-----+---+---+---+---+---+---+---+-----------------------------------

   0 | 1 |   |   |   |   |   |   |初期値  i ← 1

-----+---+---+---+---+---+---+---+-----------------------------------

     |   |   | 0 |   |   |   |   |T(i) ← 0

     |   | 1 |   |   |   |   |   |j ← 1  、 ループ2判定(j>i)..不成立継続

     |   |   | 1 |   |   |   |   |T(i) ← T(i) + j .. 0+1

     |   | 2 |   |   |   |   |   |j ← j+1、 ループ2判定(j>i)..成立終了

-----+---+---+---+---+---+---+---+-----------------------------------

     | 2 |   |   |   |   |   |   |i ← i + 1

     |   |   |   | 0 |   |   |   |T(i) ← 0

     |   | 1 |   |   |   |   |   |j ← 1  、 ループ2判定(j>i)..不成立継続

     |   |   |   | 1 |   |   |   |T(i) ← T(i) + j .. 0+1

     |   | 2 |   |   |   |   |   |j ← j+1、 ループ2判定(j>i)..不成立継続

     |   |   |   | 3 |   |   |   |T(i) ← T(i) + j .. 1+2

     |   | 3 |   |   |   |   |   |j ← j+1、 ループ2判定(j>i)..成立終了

-----+---+---+---+---+---+---+---+-----------------------------------

     | 3 |   |   |   |   |   |   |i ← i + 1

     |   |   |   |   | 0 |   |   |T(i) ← 0

     |   | 1 |   |   |   |   |   |j ← 0  、 ループ2判定(j>i)..不成立継続

     |   |   |   |   | 1 |   |   |T(i) ← T(i) + j .. 0+1

     |   | 2 |   |   |   |   |   |j ← j+1、 ループ2判定(j>i)..不成立継続

     |   |   |   |   | 3 |   |   |T(i) ← T(i) + j .. 1+2

     |   | 3 |   |   |   |   |   |j ← j+1、 ループ2判定(j>i)..不成立継続

     |   |   |   |   | 6 |   |   |T(i) ← T(i) + j .. 3+3

     |   | 4 |   |   |   |   |   |j ← j+1、 ループ2判定(j>i)..成立終了

-----+---+---+---+---+---+---+---+-----------------------------------

     | 4 |   |   |   |   |   |   |i ← i + 1

     |   |   |   |   |   | 0 |   |T(i) ← 0

     |   | 1 |   |   |   |   |   |j ← 1  、 ループ2判定(j>i)..不成立継続

     |   |   |   |   |   | 1 |   |T(i) ← T(i) + j .. 0+1

     |   | 2 |   |   |   |   |   |j ← j+1、 ループ2判定(j>i)..不成立継続

     |   |   |   |   |   | 3 |   |T(i) ← T(i) + j .. 1+2

     |   | 3 |   |   |   |   |   |j ← j+1、 ループ2判定(j>i)..不成立継続

     |   |   |   |   |   | 6 |   |T(i) ← T(i) + j .. 3+3

     |   | 4 |   |   |   |   |   |j ← j+1、 ループ2判定(j>i)..不成立継続

     |   |   |   |   |   |10 |   |T(i) ← T(i) + j .. 6+4

     |   | 5 |   |   |   |   |   |j ← j+1、 ループ2判定(j>i)..成立終了

-----+---+---+---+---+---+---+---+-----------------------------------

     |   |   |   |   |   |   |   |

うったえる有益だ(0シェアするブックマークする

関連質問

Copyright © 2026 AQ188.com All Rights Reserved.

博識 著作権所有