- 締切済み
C言語の課題なんですが、わかりません。
問題は、for文を使って10の階乗を計算し、実行結果が10の階乗は3628800です。 誰か解りましたら教えて下さい。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
noname#129118
回答No.4
コンパイラがないので、バグ含みで記載します。 void main () { int i,j,k; long l_data; /* init */ l_data = 1; j = 10; /* stop of max-value */ k = 1; /* start of min-value */ /* loop of 1..10 */ for (i=k;i<j;i++) { l_data *= i; } /* output */ printf(%d,l_data); } ● ループ処理は、while()でも構いません ● l_dataは、精度保証できること ● l_dataには、前回値×ループカウンタを格納すること ・・・で動作するかな?(単純なアルゴリズムでも、コンパイラがないと・・・)
- asuncion
- ベストアンサー率33% (2127/6289)
回答No.3
1の階乗から10の階乗までを求める式をノートに書いてみると、 for文をどのように使えばよいかがわかるかもしれません。
- v6arxzmd
- ベストアンサー率32% (16/49)
回答No.2
10の階乗の答えはそれで間違っていませんよ? ループの回数や条件を間違っていませんか? for文の最後にprintfを使って1ループごとの値を表示させてみるとわかりやすいですよ。 蛇足ですが先の回答者が言われているように、もう少し詳しく説明しないと回答がしづらいorできないので注意されてください。
noname#77845
回答No.1
何処が判らないのか、補足してください。 ・階乗の意味 ・for文の使い方 ・プログラムの作り方 ・etc