を動作しません:(!1/2)私は私にこの表示するには、このコード化され、私は私のコードがすべて正しいだと思うが、それは
1 +を+(1/3!)+ ... +(1/!N)
このコードは、これを示さなければならない(nは< 10)
#include <iostream>
using namespace std;
int main() {
int n;
float factn=1,m,sum;
cout<<"enter n\n";
cin>>n;
if(n<10&&n>=0){
do{
factn=factn*n;
m=1/factn;
sum=sum+m;
n--;
}while(n>=1);
cout<<sum;
}
else{
cout<<"error!\n";
}
return 0;
}
場合:
(nは< 10)1 +(1/2!)+(1/3!)+ ... +(1/N!)
問題は何ですか?
それは、あなたが最初に合計= 0に初期化されていない。変数sumを
でループを簡単に使用することができ、通常は不正なコードのサインです。 –
あなたの最初の合計値についてのコメントに加えて、階乗計算が間違っている、たとえばnが5であるとすると(開始時の合計値)+ 1/5 + 1/20 + 1/60 + 1/120 + 1/120。ループの繰り返しごとにnの階乗を計算する必要があります。結果は(0 + 1 + 1/2 + 1/6 + 1/24 + 1/120) – Tuffwer