宛先 c-1-5@e.koeki-u.ac.jp
以下の問題のうちどれか1問を選んでプログラムを修正せよ
tabaiadd.c
は、
100桁までの巨大数値の足し算ができる。200桁まで計算できるように
改良せよ。
tabaiadd.c
を実行して
表示される結果は、先頭の連続する0000…が出力される。これは無駄なの
で、先頭の連続する0は出力しないように改良せよ。実行例は以下のよう
になる。
% ./tabaiadd ながーい桁数の数(1)を入れてね: 555 ながーい桁数の数(2)を入れてね: 554 1109 % ./tabaiadd ながーい桁数の数(1)を入れてね: 76457876537643765476843 ながーい桁数の数(2)を入れてね: 457265782367823654 76458333803426133300497
tabaiadd.c
を実行すると
大きな数値をキーボードから読む。これを変更し、巨大数値その1を
number.x
というファイルから、巨大数値その2を
number.y
というファイルから読むように変更せよ。
実行例は以下のようになる。
% cat number.x 76457876537643765476843 % cat number.y 457265782367823654 (このような状態で) % ./tabaiadd 00000000000000000000000000000000000000000000000000000000000000 00000000000000076458333803426133300497
設問3に加え、結果となる数値をanswer
というファイルに
出力するように変更せよ。
設問4に加え、設問2と同様結果となる数値の先頭の連続する0を 省略するように変更せよ。
巨大数値を1つを読み込み、それを2倍した巨大数値を出力する
プログラム tabai2x.c
を作成せよ。
21000
を求めることのできる
プログラム 2-1000.c
を作成せよ。
巨大数値を2つ読み込み、引き算をした結果を表示するプログラム
tabaisub.c
を作成せよ。ただし、正の数同士の引き算で
大きな数から小さな数を引いた結果が得られれば良い。
巨大数値を2つ読み込み、引き算をした結果を表示するプログラム
tabaisub2.c
を作成せよ。ただし、正の数同士の引き算で
小さな数から大きな数を引いても正しい結果が得られるようにする。
tabaiadd.c
は、
10進数1桁をchar型配列の1要素に結びつけて計算した。これを
10進2桁をまとめてchar型配列の1要素に結びつけるよう変更した
tabai100.c
を作成せよ。
tabaiadd.c
は、
10進数1桁をchar型配列の1要素に結びつけて計算した。これを
10進4桁をまとめてint配列の1要素に結びつけるよう変更した
tabai-int.c
を作成せよ。
tabaiadd.c
は、
10進数1桁をchar型配列の1要素に結びつけて計算した。これを
10進n桁をまとめてint配列の1要素に結びつけるよう変更した
tabai-intn.c
を作成せよ。n
はコンパイル時に可変とする(実行時可変でもよい)。n
の指定可能範囲は適宜求めよ。
以上、自分が作成したプログラムによる計算結果が正しいことの検算は、
bc
コマンドを利用せよ。
Subjectを
#09 多倍長演算 - 解いた番号
とし、本文の先頭に
氏名: 公益太郎 学籍番号: c114xxx
という書式で自分のものを入れて、上記宛先に送ること。 本文は、
bc
コマンドによる検算結果画面という構成にすること。