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
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
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 !