Hola,
Buen Dia
Alguien me podria explicar, como podria realizar un programa para
sacar el "factorial" de un numero Usando El bucle "while"
Sin usar otros bucles "
Lenguaje: C++
................................................
Por ejemplo :
Quiero que el programa pida al usuario un numero entero cualquiera , ... y luego lo multiplique por cada numero que vaya antes de el numero introducido !
Ejemplo2:
Digamos que El numero introducido es : 5
Ahora quiero que lo multiplique asi: 5*4*3*2*1
y me de el resultado !
hola que tal este programa es muy basico aqui te dejo el codigo
#include<stdio.h>
#include<conio.h>
int main()
{
int fac=0;
printf("Ingresa numero para calcular el factorial ");
scanf("%d",&fac);
int temp=fac-1;
int r=fac;
while (temp>=1)
{
r=r*temp;
temp--;
}
printf("El factorial de %d es: %d ", fac,r);
getch();
}
ayuda para:
Escribir un programa que solicite al usuario la escritura por teclado de una palabra que no
contenga mayusculas. Si el usuario escribe alguna mayuscula el sistema nuevamente le solicita que ingrese
el valor
Un poco tarde pero espero te sirva... se usa la variable temp para indicar que es una variable temporal, ya sea para realizar solo ese calculo o mucho en todo el programa. En resumen, es una variable en la cual puedes guardar los valores temporalmente, para luego usarlo en otro momento.
Al momento en que tu pones '0' tienes que hacer que el programa evada el ciclo "while" y poner el resultado de que 0=1, de lo contrario el programa tratara de realizar la operación.
oyeee me podrias ayudar , tengo un programa de factorial pero me marca un error que no puedo arreglar me prodrias ayudar?
#include <iostream>
int main(int argc, char** argv) {
int n;
int resultado;
int facto(n);
printf("caso recursivo \n");
printf("dame el factorial \n");
scanf("%d",&n);
resultado=facto(n); //aqui marca el error
printf("factorial es %d \n",resultado);
return 0;
}
int factor(int n){
if (n<=1){
return 1;
}
else{
void main(){
int resultado=1;
int numero,factorial;
printf("Este programa calcula el factorial de un numero entero\n");
printf("Ingrese el numero: ");
scanf("%d",&numero);
factorial=numero;
while(factorial>1){
resultado=resultado*factorial;
factorial=factorial-1;
}
printf("El resultado de %d ! es: %d\n",numero,resultado);
}
depurando el programa el limite es hasta el numero 34 de ahi en mas dan 0" todos,
y en algunos casos los da con signo negativo...
podrias aclar mi duda o ese problema?
oe k te pasa ubicate lucer .como me puedes decir eso oe rocio para tu informacion yo recien estoy en primero de secundaria y ya estoy haciendo programacion asi k ahorrate tus palabras
teniendo que cumplir ante un profe hdp que, solo por poder programar rápido, te jode la vida pidiendo que tu programita calcule factorial de 120 llegue a este código. espero les sirva, es en c muy básico.
#include<stdio.h>
#include<stdlib.h>
#define H double // gracias a 'double' podes calcular hasta factorial de 170
H factor (short); //prototipo
int main (void)
{
H n;
printf("\n\tprograma factorial\n");
printf("\ningrese el numero...\n");
scanf("%lf",&n);
printf("\nfactorial de 'n':\n");
n = factor(n); //llamada
printf("\n\t%g\n",n);
system("pause");
}
H factor (short n) //implementacion
{
H producto=1;
short i=0;
while ((n-i)>1)
{
producto = (H)producto * (n-i);//ah, acordate que la 'H' significa 'double',
//osea casteas(obligas a sertipo..),
Amigo necesito escribir un programa que calcule la suma de todos los numeros multiplos de 5 comprendidos entre dos enteros leidos por teclado.
por favor
#include <iostream>
int main(int argc, char** argv) {
int n;
int resultado;
int facto(n);
printf("caso recursivo \n");
printf("dame el factorial \n");
scanf("%d",&n);
resultado=facto(n); //aqui marca el error
printf("factorial es %d \n",resultado);
return 0;
}
int factor(int n){
if (n<=1){
return 1;
}
else{
return n*factor(n-1);
}
}