平成18年 秋期 基本情報技術者 午前 問10

長さの3文字列 C1C2C3 の中には、長さ2以上の連続した部分文字列としてC1C2、C2C3及びC1C2C3の三つがある。
長さ100の文字列C1C2…C100の中に、長さ10以上の連続した部分が全部で幾つあるかを求める式はどれか。

 ア  1+2+3+…+88+89
 イ  1+2+3+…+89+90
 ウ  1+2+3+…+90+91
 エ  1+2+3+…+98+99


答え ウ


解説
書く長さの文字列が幾つあるかを考えます。
文字列C1C2…C100の中に長さが100の文字列は“C1…C100”の1個です。
文字列C1C2…C100の中に長さが99の文字列は“C1…C99”と“C2…C100”の2個です。
文字列C1C2…C100の中に長さが98の文字列は“C1…C98”と“C2…C99”と“C3…C100”の3個です。

  ここまでで、ある程度規則性が見えたと思います。
   取り出す文字列の長さの個数=元の文字列の長さ取り出す文字列の長さ+1
  になります。

文字列C1C2…C100の中に長さが11の文字列は100-11+1=90個です。
文字列C1C2…C100の中に長さが10の文字列は100-10+1=91個です。
したがって、長さ10以上の連続した部分の個数は
 1+2+3+…+90+91
(ウ)になります。


キーワード
・部分文字列

キーワードの解説

戻る 一覧へ 次へ