アルゴリズム論特論(特講)(塩田) 2009年度教材 第1回

  • 本講義の概要
    本講義では暗号アルゴリズムを、 Python によるプログラミングを通じて体験してもらいます。 現代の暗号は、高速にできる計算と、天文学的な時間が掛かる計算との ギャップを利用して設計されています。 その計算量を実体験してみてください。

  • 平方根を計算する Python プログラム
    rootx.py / 実行例

  • 円周率を計算する Python プログラム
    circleratio.py / 実行例

  • 素数判定のサンプルプログラム
    sample1.py

  • sample1.py を関数定義部とメインルーチンに分ける使い方
    関数定義部 : sample2.py
    メインルーチン : sample3.py
    ( sample3.py を実行する )

  • 素数票作成のサンプルプログラム
    sample4.py

  • Python 文法の参考文献

    • 菊地先生の 「専門情報処理演習」のページ

    • M.Lutz, D.Ascher 著、紀太 章 訳、始めての Python、オライリー・ジャパン

    • Python 2.3.4 日本語環境用の Python マニュアル (特にチュートリアル)

  • 課題
    次の問題を解く Python プログラムを作成せよ。

    k = 1,2,...,12 のそれぞれに対して、 1 から n までの整数の5乗和が 10k で割り切れるような 最小の自然数 n を求めよ。

    ( 例えば k = 2 なら 15 + 25 + 35 + 45 = 1 + 32 + 243 + 1024 = 1300 が 102=100 で割り切れるので n = 4. )

  • 提出期限 : 4月23日(木)17:00
    ( 512号室ポストまで )

  • 課題プリント
    rep01.pdf


戻る