アセンブラの宿題質問スレ
■ このスレッドは過去ログ倉庫に格納されています
0890デフォルトの名無しさん
2007/07/27(金) 00:11:40問題文:
10000!(10000の階乗)の全桁を求めて表示するプログラムを作成せよ。
効率を良くするために、一桁ごとでなく四桁ごとに区切って計算するように考える。
つまり10進数の四桁を一桁として10000進数として表現し、
その各桁ごとに掛け算と繰り上げの処理を行う。
10000の階乗は結果として10進数で35660桁(10000進数で8915)桁
となるので、配列は32bit整数8915個で十分である。
配列領域の確保は、.word擬似命令を用いる
例:
62 2702 0800 × 14
= 868 37828 11200 = 868+3 7828+1 1200 = 871 7829 1200
また、提供されているputintでは途中の0が表示されないので、
それを解決するために、配列の要素を表示するときに
1・要素が999以下なら”0”をひとつ表示
2・要素が99以下なら”0”をひとつ表示
3・要素が9以下なら”0”をひとつ表示
4・putintを使って要素の値を表示
とする
■ このスレッドは過去ログ倉庫に格納されています