Hola, me podrían ayudar? Realizar un programa que halle el factorial de un número "n", y al mismo tiempo le pregunte al usuario si desea seguir continuando para hallar el próximo factorial; también debe restarse el factorial anterior. Ejemplo: Número "n": (5) Factorial del número es: (120) La diferencia del factorial de número por el número anterior es: 120-24 =96 Desea seguir continuando s/n: ( si marca "s" entonces continuará para hallar el próximo factorial y si marca "n" entonces saldrá del programa) En C++ ¡Por favor!

Respuestas

Respuesta dada por: ajcalon268jose
0

Solo usa un Do While con la condicion de que si es diferente a S se cancele, dentro del ciclo va el codigo para el factorial.


A la hora de tener el factorial del numero introducido restarle el factorial anterior

Respuesta dada por: cristhianzg
0

Hola.

En el ejercicio, Realizar un programa que halle el factorial de un número "n", y al mismo tiempo le pregunte al usuario si desea seguir continuando para hallar el próximo factorial; también debe restarse el factorial anterior.

Procedimiento:

Para resolver el ejercicio utilizamos dos bucles for, uno para hallar el factorial del número "n" ingresado y otro para hallar el factorial del número anterior, para ello, se resto 1 a "n", es decir,  (n - 1). Luego el resultado del factorial principal lo restamos con el factorial del número anterior. res = f - fa; donde res es el resultado, f, el factorial y fa el factorial anterior.

Por ultimo, se agrego un do while para que cuando finalice la operación le pida al usuario si desea agregar una letra s o n.

Código en Dev c++

#include<iostream>

using namespace std;

int main(){

//Declaracion de variables  

int res,f,fa, i, n;

string op;

do{

 //Ingreso de datos  

 cout<<"\n";

 cout<<"Numero 'n': ";

 cin>>n;

 //Proceso

 f=1;

 for(i=1;i<=n;i++){

  f=f*i;

  //cout<<f<<endl;  

 }

 fa=1;

 for(i=1;i<=(n-1);i++){

  fa=fa*i;  

 }

 res=f-fa;  

 //Salida

 //cout<<"Factorial anterior: "<<fa<<endl;

 cout<<"Factorial del numero es: "<<f<<endl;

 cout<<"La diferencia del factorial de numero por el numero anterior es: "<<res<<endl;

 cout<<"\n";

 cout<<"¿Desea seguir continuando?: s/n";

 cin>>op;

}while(op=="s" or op=="S");

return 0;

}

También puedes descargar el archivo en formato .cpp

https://app.box.com/s/kfx27vfohj1v4w7hkfvuf4vssrka0f80

Espero te ayude..

¡ Saludos !

Adjuntos:
Preguntas similares