暗号の数理 (2009年度) レポート2
課題
BigIntegerクラスを用いて次を実行するプログラムを作成せよ。
- 2つの任意の自然数mおよびnを入力したときその最大公約数を出力するプログラム。
- 2つの任意の自然数mおよびnを入力したとき,
その最大公約数が1以外ならその最大公約数を出力し,
1の場合はmp+nq=1を満たす整数p,qを出力するプログラム。
- 「任意の整数」とは桁数が限られていないという意味である。
- プログラムはワークステーション室の環境で動くことを確認すること。
-
BigIntegerクラスには最大公約数を求めるメソッドがあるが,
勿論これを使用してはいけない。
使用してよいメソッドはadd,subtract,multiply,divide,remainder,divideAndRemainder,compareTo
等基本的なものだけです。他の使用してはいけないメソッドは自分で判断してください。
- プログラムを作成した人は(1) 簡単なアルゴリズムの説明,
(2)ワークステーション室で使用する人のためのマニュアル(何をするプログラムか,どの様に実行するか,
を含む),
(3)特記事項(後の項を参考)があればそれを mailの本文にそれぞれ独立した項目として書き,
2つのプログラムを独立したファイル(そのままで実行可能な状態のファイル)として添付して
crypto@math.cs.kitami-it.ac.jpまで送ること。
勿論名前,学生番号も忘れずに。
- user interfaceはどのようなものでもかまわないが,
自分で使用する場合使い易いようなものにすることを考慮すること。
- 前項のことの他何か自分のプログラムの「売り」があれば特記事項として
記載すること。
水準に達しているレポートには15点が与えられる。
これに加え「売り」の内容に応じて5×n (n自然数)点が加点される。
例えばBigIntegerクラスを使用せず自分でそれを実装するという様なことも考えられる(実用的意味があるかはさておき)。
- ただしプログラム・説明文を含めて自分で書いたと思われないレポート
(ネットからのcopy&pasteを含む)ないし他のレポートと同一と判断されるレポートは採点の対象にはならない。
- 締切は1月24日(日) 17:00とする。
Last modified: 2009/12/15 17:01