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

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

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

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

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

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

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

  • 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月28日(水)17:00
    ( 授業時、または512号室ポストまで )

  • 課題プリント
    rep01.pdf

戻る