N88-BASIC、C、アセンブラで階乗 (1回目)
2022/1/17(月)
N88-BASIC、C、アセンブラで階乗 (1回目)
N88-BASIC、C、インラインアセンブラ(8086系)
で階乗を求めるプログラムを、
作ってみます
C、インラインアセンブラは、
Cコンパイラーなどを準備して下さい
例、Microsoft Visual Studioなど
windowsのconsoleアプリは実行終了後
ウインドウが閉じてしまうので
最後にキー入力待ちを入れています
数値を入れてenterを押すと終了します
関数名に_sが付いているものは_sを
消した関数名でも良いのですが、
エラーが出る場合があるので、
環境に合わせて選択してください
階乗の通常の定義
n! = n×(n-1)×...×1
7! = 7×6×5×4×3×2×1
= 1×2×3×4×5×6×7 = 5040
A,B,C3人の並べ方は
1列目はA,B,Cの3通り
2列目は残り2人の2通り
3列目は残り1人の1通り
なので3×2×1=6通り
n人の並べ方はn!通りあります
PCの変数の桁には限界がありますので
ここでは大きな数の階乗には対応しません
nは1桁位と思って下さい
~.cのファイルはTab=4で書いています
(メモ帳はTab=8なのでズレます)
NL-BASICとblg~.zip
(fact001.bas、fact001.c、fact001asm.c)は
このブログ(以下のリンク)からダウンロードできます
N88-BASIC、C、アセンブラで階乗 (1回目)
N88-BASIC、C、インラインアセンブラ(8086系)
で階乗を求めるプログラムを、
作ってみます
C、インラインアセンブラは、
Cコンパイラーなどを準備して下さい
例、Microsoft Visual Studioなど
windowsのconsoleアプリは実行終了後
ウインドウが閉じてしまうので
最後にキー入力待ちを入れています
数値を入れてenterを押すと終了します
関数名に_sが付いているものは_sを
消した関数名でも良いのですが、
エラーが出る場合があるので、
環境に合わせて選択してください
階乗の通常の定義
n! = n×(n-1)×...×1
7! = 7×6×5×4×3×2×1
= 1×2×3×4×5×6×7 = 5040
A,B,C3人の並べ方は
1列目はA,B,Cの3通り
2列目は残り2人の2通り
3列目は残り1人の1通り
なので3×2×1=6通り
n人の並べ方はn!通りあります
PCの変数の桁には限界がありますので
ここでは大きな数の階乗には対応しません
nは1桁位と思って下さい
~.cのファイルはTab=4で書いています
(メモ帳はTab=8なのでズレます)
NL-BASICとblg~.zip
(fact001.bas、fact001.c、fact001asm.c)は
このブログ(以下のリンク)からダウンロードできます
Readme.txtを読んで遊んで下さい