• ベストアンサー

超困っているので助けて下さい

階乗の計算 [問題]正の整数 n を入力し,次の式の値を計算し,出力するプログラムを書け.なお,計算は double で行え. (1 + 9.0) * (2 + 9.0) * (3 + 9.0) * ・・・ * (n + 9.0) 上記の問題をdouble形式で説いてくださいお願いします。 CとC++でお願いします。 ついでに言うとintmain()で解いてみてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • morchin
  • ベストアンサー率16% (212/1281)
回答No.1

double x = 1.0; for (int i=1; i<=n; i++) { x *= (i + 9.0); }

関連するQ&A

  • 困っています助けて下さい。

    階乗の計算 [問題]正の整数 n を入力し,次の式の値を計算し,出力するプログラムを書け.なお,計算は double で行え. (1 + 9.0) * (2 + 9.0) * (3 + 9.0) * ・・・ * (n + 9.0) 上記の問題をdouble形式で説いてくださいお願いします。

  • 下記に記すプログラムを解いてください。

    Σ1/(i + k) の計算 [問題]正の整数 n を入力し,次の式の値を計算し,出力するプログラムを書け. 1/1 + 1/2 + 1/3 + ・・・ + 1/n 上記の問題が解けませんので解答お願いします。 上記の問題をdouble形式でお願いします。 上記の問題をintmain()形式でお願いします。

  • 本文の答えをよこしてください。

    Σ1/(i + k) の計算 [問題]正の整数 n を入力し,次の式の値を計算し,出力するプログラムを書け. 1/1 + 1/2 + 1/3 + ・・・ + 1/n 上記の問題が解けませんので解答お願いします。 上記の問題をdouble形式でお願いします。

  • C言語の質問

    「n の階乗 n! の計算を再帰式で表現したCプログラムを作成し、n=10, n=11, n=12 の出力結果を書きなさい。 プログラムではnの値は1から12までとせよ。 入出力については問わない。」です。お願いします。

  • 階乗のプログラム

    c言語初心者です。 13までの階乗の値を計算するプログラムを下のように書いたのですが、 #include <stdio.h> main() { int N, fact; fact=1; for(N=1; N<=13; ++N){ fact=fact*N; printf("%d!=%d\n",N, fact); } } このプログラムを実行してみると、12!までは正しい値が出力されるのですが、13!の値が1932053504と出力され、計算機の値と違います。 どこが間違っているのでしょうか。どなたかご教授お願いします。

  • 至急で、C言語の問題で解答解説お願いします。

    1実数を3つ(a,b,c)を読み込み3辺とする三角形ができるか判定(d(d-a)(d-b)(d-c)>0のとき三角形となる)しできなければ、三角形ではありません!というメッセージを表示し、できる場合は以下のヘロンの公式を用いて三角形の面積を求めるプログラムをC言語で答えてください。d=(a+b+c)/2 s=√{d(d-a)(d-b)(d-c) 2maxの整数値(≧1)をキーボードから入力し、その値に対応した図形を出力するプログラムをC言語で答えてください。 例 max1 max2 max3 * ** *** * ** *** * ** *** ** *** *** 3整数nをキーボード入力しnの値に応じて以下の図形を表示するプログラムをc言語で答えてください。 n=3 n=4 n=5 3 4 5 45 56 67 678 789 890 0123 1234 56789 4整数n(≧0)を入力し歯科の計算を実行するC言語プログラムを答えてください。2つの自然数nとmを読み込みn個の中からm個を取り出すときの組み合わせの数を計算せよ。ただし、n!を計算する関数long fact (int n)を定義し必ずそれを用いること。 5 1つのscanfで2つの10進数を入力し8進数と16進数で表示するプログラムをC言語で答えてください。 6 実数aを入力し少数第1位で四捨五入する関数g(a)をマクロ定義で入力した値の少数第1位を四捨五入して出力するプログラムをC言語で答えてください。 7 4つの実数w,x,y,zを読み込みその最大値を出力するプログラムをC言語で答えてください。ただし、2つの実数の大きいほうを求める関数 double my may (double x,double y)を定義し、その関数を用い、if文を用いないでc言語で答えてください。

  • この計算プログラムの書き方を教えてください.

    C++で,次の式の計算プログラムを書きたいのですが,今ひとつ(というか全く)分かりせん. どなたか,教えていただけないでしょうか.できたら,ソースを書いていただけると嬉しいです... P0 = (Σ(n=0からc-1まで)a^{n}/n! + a^{c}/((c-1)!(c-a)))^{-1} です. cの値を0から100まで変化させたときの,P0の値を求めたいので,for文つかって,あとは結果を加算してったいらいいんでしょうが,階乗が入ってきてしまい,全く分からなくなってしまいました... ちなみに,aは定数なので,そのままで構わないと思います. プログラマの方,よろしくお願いしたします.

  • パソコンで階乗を計算

    現在、fortran90を使って階乗を計算するプログラムを作っております。 プログラム内容は、(n !を求めえるプログラム) n=0 do i=1,100 n=n*i enddo このプログラムを実行すると、12!までは予想された値が得られるのですが、13!以降は電卓で計算した値と遙かに異なる値が得られました。 このプログラムは間違っているとは思えないですが、電卓の計算とパソコンの計算が異なる結果になった理由が分かりません。 どなたか、ヒントや参考情報だけでもいいので教えてください。 ちなみにパソコンによる計算結果は、 i n 1 1 2 2 3 6 4 24 5 120 6 720 7 5040 8 40320 9 362880 10 3628800 11 39916800 12 479001600 13 1932053504 14 1278945280 15 2004310016 16 2004189184 17 -288522240 18 -898433024 19 109641728 20 -2102132736 21 -1195114496 22 -522715136 23 862453760 24 -775946240 25 2076180480 26 -1853882368 27 1484783616 28 -1375731712 29 -1241513984 30 1409286144 31 738197504 32 -2147483648 33 -2147483648 34 0 35 0 36 0 36の階乗以降0です。 計算結果が正となるが、結果が違うモノ(例えば、13!や31!)は単精度で約10桁程度しか有効数字が得られないためであると思われるのですが、負になったり、0になる理由が分かりません。

  • コンビネーション,二項係数の求め方

    n≒1000くらいまでコンビネーションnCkを計算できるプログラムを作ろうと思っています。 階乗を使った公式では直ぐに破綻してしまうので 7C3=(7・6・5)/(3・2・1)とやるようなプログラムを組んだのですが 希望より小さなnで破綻してしまいます。 とりあえず、今は7C3=(7/3)・(6/2)・(5/1)とやるような計算法で凌いでいますが 途中で実数計算(整数計算でないという意味)をせざるを得ず、ちょっと気持ち悪いです。 究極のプログラムを組もうという気は無いのですが もう少し現状を改善したいと思っています。 良きアドバイスをいただけたら幸いです。

  • Nの階乗

    この問題がどうすればいいのかまったくわかりません。 考え方を教えて下さい。 ------------------------------------------------ まず、プログラムの中で一つの整数N(1<=N<=100)を入力させる。そして、一桁ずつを一つの整数配列の別々の箱に入れる表現を用いて、Nの階乗を計算し、その結果を表示するプログラムを作れ。例えば1258をdat[4]=1, dat[3]=2, dat[2]=5, dat[1]=8と表す。アルゴリズムには、ループ(for文、while文、repeat文のいずれか)を用いなさい。