
JoseRenan
(usa Ubuntu)
Enviado em 10/09/2011 - 21:33h
Olá pessoal, quando as coisas apertam eu apareço.
Tenho que fazer um programa que: leia um valor n, inteiro positivo e que calcule e mostre o valor de E, conforme a fórmula a seguir:
E= 1 + 1/1! + 1/ 2! + ... +1/n!
então fiz o seguinte programa:
#include <iostream>
using namespace std;
int main ()
{
int n, o=1, i;
double fat, fat1, fat2=0;
cout<<"Digite um valor: ";
cin>>n;
fat=n;
cin.ignore();
if (n>=0)
{
cout<<"E= 1 + ";
do
{
cout<<" 1/"<<o<<"! ";
if (n!=o) cout<<"+ ";
else cout<<endl;
o++;
}while (o<=n);
do
{
for (o=1; o<n; o++)
{
fat=fat*o;
}
fat1=1/fat;
fat2=fat1+fat2;
o++;
} while (o<=n);
cout<<"E= "<<fat2+1;
}
else cout<<"Somente valores positivos!\a\n";
return 0;
}
Só que eu quero calcular o fatorial de um número, sair do laço FOR; dividir 1 pelo seu fatorial e passar o valor para um acumulador; aí que eu tenho o problema queria executar o FOR uma vez, continuar o laço "pai" e se repetir o laço "pai" de novo continuar o laço do FOR com o incremento já feito. Bom não sei se vão me entender, daqui a pouco apareço.. (pizza, lá vou eu!! Delííchia)