Foros del Web » Programación para mayores de 30 ;) » C/C++ »

factorial

Estas en el tema de factorial en el foro de C/C++ en Foros del Web. Buenos dias gente. Mi problema es: Quiero introducir un numero y que me imprima en pantalla el factorial de ese numero (x!). Para los que ...
  #1 (permalink)  
Antiguo 10/07/2010, 14:33
 
Fecha de Ingreso: marzo-2010
Mensajes: 53
Antigüedad: 14 años, 9 meses
Puntos: 0
factorial

Buenos dias gente.
Mi problema es:
Quiero introducir un numero y que me imprima en pantalla el factorial de ese numero (x!).
Para los que no sepan lo que es el factorial , es multiplicar al numero por todos los inferiores hasta llegar a uno.
Ejemplo:
4!=4 * 3 * 2 * 1
9!=9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1
Lo he intentado con la sentencia for pero soy incapaz.
Podríais decirme como se puede hace???
Muchas gracias de antemano.
Un saludo.
  #2 (permalink)  
Antiguo 10/07/2010, 14:56
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 8 meses
Puntos: 228
Respuesta: factorial

Hace algo asi:

int fact(int n)
{
inf i =0,fact=1;
for(i=1;i<=n;i++)
fact *= i;
return fact;
}
  #3 (permalink)  
Antiguo 11/07/2010, 09:59
 
Fecha de Ingreso: marzo-2010
Mensajes: 53
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: factorial

Lo he probado pero no me ha ido. Buscare en el foro o en otros para ver si puedo sacarlo.
Muchas gracias.
  #4 (permalink)  
Antiguo 11/07/2010, 10:02
 
Fecha de Ingreso: marzo-2010
Mensajes: 53
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: factorial

Lo he encontrado.
Ahora lo que intento es que solo me haga el factorial con dos numeros:
Ejemplo: 10!=10 *9
5!=5*4
Código PHP:
#include <iostream.h>
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>

main()
{

printf("\n***Este programa calcula el factorial de un numero***");

int NumMultiFactorial=Xmany;

printf("\n\n Ingrese numero a calcular factorial: ");
scanf("%d",&Num);
printf("Elementos agrupados de: ");
scanf("%d",&many);

do
{
Num--;
Factorial Factorial X;
}
while ( 
!= 1);

printf("\n El factorial es: %d"Factorial);
getch();
return 
0;


Gracias otra vez de antemano.
Un saludo.
  #5 (permalink)  
Antiguo 11/07/2010, 10:15
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 8 meses
Puntos: 228
Respuesta: factorial

No entendi a que te refieres con factorial de dos numeros...
  #6 (permalink)  
Antiguo 11/07/2010, 12:46
 
Fecha de Ingreso: marzo-2010
Mensajes: 53
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: factorial

x ejemplo
factorial de 7 con dos numeros es: 7 *6
factorial de 55 con dos numeros es: 55 *54
en vez de todo el factorial solo los dos primeros

factorial entero factorial con dos numeros
5!=5*4*3*2*1 5!=5*4
  #7 (permalink)  
Antiguo 11/07/2010, 17:06
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 8 meses
Puntos: 228
Respuesta: factorial

Código C:
Ver original
  1. #include <iostream.h>
  2. #include<stdio.h>
  3. #include<conio.h>
  4. #include<stdlib.h>
  5. #include<string.h>
  6. #include<math.h>
  7.  
  8. main()
  9. {
  10.  
  11. printf("\n***Este programa calcula el factorial de un numero***");
  12.  
  13. int Num,Factorial=1 ;
  14.  
  15. printf("\n\n Ingrese numero a calcular factorial: ");
  16. scanf("%d",&Num);
  17.  
  18. Factorial = Num * (Num-1)
  19.  
  20. printf("\n El factorial es: %d", Factorial);
  21. getch();
  22. return 0;
  23.  
  24. }

A esos te refieres?
  #8 (permalink)  
Antiguo 12/07/2010, 08:40
 
Fecha de Ingreso: marzo-2010
Mensajes: 53
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: factorial

Si mas o menos era eso.
Lo que yo queria exactamente era por ejemplo:
factorial de 5 con 3 numeros: 5!=5*4*3
factorial de 29 con 17 numeros: 29!=29*28*27*26*25*24*23*......*13
pro vamos
dejalo porque ya he encontrdo otra forma
Muchas gracias .
Un saludo
  #9 (permalink)  
Antiguo 12/07/2010, 11:02
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 8 meses
Puntos: 228
Respuesta: factorial

Código C++:
Ver original
  1. int fact(int n,int veces)
  2. {
  3. int fact=1;
  4. for(;veces<=n;n--)
  5.       fact *= n;
  6. return fact;
  7. }
  #10 (permalink)  
Antiguo 09/08/2010, 10:49
 
Fecha de Ingreso: marzo-2010
Mensajes: 53
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: factorial

Muchas gracias a todos.
Ya he encontrado lo que queria.
Lo ponog a continuacion por si a alguien le es de utilidad:
Código PHP:
#include <cstdlib>
#include <iostream>

using namespace std;
int factorial=1,n,i;
int main(int argcchar *argv[])
{

cout<<"digite un numero";
cin>>n;
for (
i=n;i;i--)
{
factorial*=i;
}
cout<<n<<"="<<factorial;
    
system("PAUSE");
    return 
EXIT_SUCCESS;

Un saludo
  #11 (permalink)  
Antiguo 09/08/2010, 20:04
 
Fecha de Ingreso: julio-2010
Mensajes: 153
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: factorial

es lo mismo de sam90, solo que sam90 lo hizo mas limpio
  #12 (permalink)  
Antiguo 10/08/2010, 14:04
 
Fecha de Ingreso: enero-2008
Mensajes: 229
Antigüedad: 16 años, 10 meses
Puntos: 1
Respuesta: factorial

no es lo mismo, por q sam90 solo contempla 2 dos números, la versión de kerso4 sirve para n numeros.
  #13 (permalink)  
Antiguo 10/08/2010, 14:41
 
Fecha de Ingreso: julio-2010
Mensajes: 153
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: factorial

Cita:
Iniciado por sam90 Ver Mensaje
Código C++:
Ver original
  1. int fact(int n,int veces)
  2. {
  3. int fact=1;
  4. for(;veces<=n;n--)
  5.       fact *= n;
  6. return fact;
  7. }
¿seguro?
  #14 (permalink)  
Antiguo 10/08/2010, 15:13
 
Fecha de Ingreso: marzo-2010
Mensajes: 53
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: factorial

Tranqilidad.
Estan ambas para uso de todos. El que las utilice elija xD
Un saludo
  #15 (permalink)  
Antiguo 10/08/2010, 20:59
Avatar de erickxls  
Fecha de Ingreso: julio-2009
Ubicación: Lima
Mensajes: 78
Antigüedad: 15 años, 5 meses
Puntos: 3
Respuesta: factorial

aca otra forma
Código C:
Ver original
  1. long factorial(int n){
  2.     if(n==0||n==1)
  3.         return 1;
  4.     else
  5.         return n*factorial(n-1);
  6. }
  #16 (permalink)  
Antiguo 11/08/2010, 07:33
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 16 años, 6 meses
Puntos: 61
Respuesta: factorial

Algunas implementaciones mostradas aqui no tienen buen comportamiento cuando le pasan un numero negativo como parametro.
  #17 (permalink)  
Antiguo 11/08/2010, 12:11
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 8 meses
Puntos: 228
Respuesta: factorial

Cita:
Iniciado por CalgaryCorpus Ver Mensaje
Algunas implementaciones mostradas aqui no tienen buen comportamiento cuando le pasan un numero negativo como parametro.
Nunca pense en un factorial negativo. De todas formas seria una precondicion de la funcion,

Y como es la forma recursivo como se la enseña no terminaria nunca para un numero negativo.

0! = 1
n! = n * (n-1)!

Etiquetas: factorial
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 03:13.