千葉大学普遍教育情報処理科目:自習用テキスト「プログラミング入門」

生物生産科学科 担当 國分 尚


<-- 第8章目次


9.練習問題の解答例

練習3

練習4

練習5

練習6

プログラム8target = 100という部分を例えばtarget = 500とすれば500番目の素数が求められる。

練習7

キーボード入力版

def sosuu?(x)
  i = 3
  while (i <= x/3) and (x % i != 0)
    i = i + 2
  end
  if i > x/3
    return true
  else
    return false
  end
end

print "何番目の素数を求めますか? "
target = STDIN.gets.to_i
n = 3
c = 2
last = 2
while c <= target
  if sosuu?(n)
    last = n
    c = c + 1
  end
  n = n + 2
end
print target, "th prime is ", last, ".\n"

コマンドライン版

上の解答例のprint ..., target = gets.to_iの2行を以下のように書き換える。

target = ARGV[0].to_i

このようにすることで、コマンドラインからruby sosuu.rb 77と入力すると77番目の素数が得られる。

練習8

練習9

目次

  1. アルゴリズムとプログラム
  2. プログラミング言語
  3. Rubyプログラミング入門
    1. 環境を整える
    2. エディタの使い方
    3. Hello World!
    4. 台形の面積を求める
    5. Rubyプログラムの実行
  4. Rubyプログラムの構造
    1. 文、数値、文字列、変数、代入
    2. データの型、あるいはオブジェクトの種類
    3. 配列とハッシュ
    4. 制御構造
    5. アルゴリズムからプログラムへ
    6. オブジェクトとメソッド
  5. ファイル処理と正規表現
    1. Genbankの出力を加工する
    2. ファイルからデータを読み込む
    3. ファイルにデータを書き込む
    4. 正規表現
  6. その他
  7. 参考文献
  8. 用語集
  9. 練習問題の解答例
  10. 索引

2004年5月14日作成、2006年4月8日更新

國分 尚
hkokubun@faculty.chiba-u.jp