Fattoriale di tutti i numeri minori o uguali a n.

di il
3 risposte

Fattoriale di tutti i numeri minori o uguali a n.

Ciao a tutti, qualcuno saprebbe dirmi come faccio a calcolare con con la funzione ricorsiva (in C) il fattoriale di tutti i numeri minori o uguali a n??
es: n=5, dovo stampare 5!=120, 4!=24, 3!=6, 2!=2
ps: ho già creato un programma che mi calcola il fattoriale di n, ma non riesco a modificarlo, devo aggiungere soltanto un ciclo???

3 Risposte

  • Re: Fattoriale di tutti i numeri minori o uguali a n.

    Beh, direi che basta un ciclo ...
  • Re: Fattoriale di tutti i numeri minori o uguali a n.

    Partendo da n potresti calcolare il fattoriale di n (salvando in una variabile, chiamiamola fatt): successivamente fai un ciclo a decrementare n aggiornando fatt di volta in volta diviso per l'n corrente.
    Es.:
    n=5
    fattoriale(5)=120
    fatt=120

    fatt=fatt/n
    n=n-1
    stampo n e fatt, quindi 4 e 24

    fatt=fatt/n
    n=n-1
    stampo n e fatt, quindi 3 e 6

    ...

    Se invece vuoi partire da 1 è sicuramente più facile (non c'è bisogno di richiamare la tua funzione di calcolo del fattoriale...)

    In ogni caso non c'è bisogno di ricorsione!
  • Re: Fattoriale di tutti i numeri minori o uguali a n.

    Praticamente
    
    	int i, n, fatt;
    
    	n=5;
    	fatt=120;  <- che otterrai chiamando la funzione del fattoriale
    
    	for(i=n; i>0; i--)
    	{
    		printf("%d!=%d ", i, fatt);
    		fatt/=i;
    	}
    	printf("\n");
    
Devi accedere o registrarti per scrivere nel forum
3 risposte