- 締切済み
FORTRANでの階乗の表現
任意の数の階乗を表すにはどうすればいいでしょうか?
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- rouden
- ベストアンサー率30% (13/43)
動作の保障は出来ませんが、下のプログラムで『5』の階乗(5!=120)を求めることが出来ます。 INTEGER I,N DO 10 I=1,5,1 N=N*I 10 CONTINUE WRITE(6,40)N STOP END 『DO 10 I=1,5,1』の『5』という数字を変えれば別の数字の階乗も求めることが出来ます
- 530529
- ベストアンサー率16% (86/521)
階乗の意味が解らないのであれば、数学の本を見ましょう。 意味を知っているのなら、最初は特定の数の階乗を求める場合を何通りかfortranで書いてみましょう。 きっと同じところがあるので、それを見つめていれば任意の数での求め方が見えませんか ? もし、とても大きな数であれば、近似的に求める公式があるのでそれを利用しましょう。 通常の計算機では、数の上限がありますので気をつけて下さい。
- DIGAMMA
- ベストアンサー率44% (620/1404)
こんちは、御質問は「表現方法」ですよね。 だったら、演算子はないので関数表現する以外ありません。 (べき乗表現なら、C言語にはない ** 演算子があります) ちなみに、計算方法なら、#2さんのいう通りです。 0!=1 という例外に気をつけてください。 任意の数が事実上、上限があり、何億回も計算するような場合は、答えをあらかじめ配列に格納しておく方法をお勧めします。
- koma1000nin
- ベストアンサー率30% (342/1133)
1+2+3+4+…+N これは公式を用いてできますが、計算機にやらせるのだから、そのまま計算させればいいのです。 同様に、階乗は 1×2×3×4×…×N を計算すればよろしい。ただ、桁あふれしないように気を使ってください。 いちいち公式を持ち込むのは誤の骨頂です。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
任意(表現可能な数でしょうけど)の数まで、 掛け算する関数をつくるとか