Accedi

Ho dimenticato la password

Ultimi argomenti
» argomento
Dom Giu 02, 2013 4:30 pm Da ruggiero98

» problema con la funzione SE aiutoooo x favore?????
Dom Giu 02, 2013 4:18 pm Da ruggiero98

» aiuto in programma con if
Dom Mag 26, 2013 5:39 pm Da ruggiero98

»  CALCOLO PERCENTUALE IN C
Sab Apr 20, 2013 8:22 pm Da ruggiero98

» Costruire un temporizzatore software per accensione luci a led
Lun Mar 25, 2013 2:34 pm Da Cristina Shady

» Ciao a tutti!
Gio Mar 22, 2012 4:19 am Da cosmos91

» Virtualbox VS le periferiche USB
Mar Apr 06, 2010 1:49 pm Da dandeciani

» PROGRAMMA: BINARY CODE
Mar Dic 23, 2008 7:28 pm Da Thalionwen

» saluti a tutti
Mar Dic 23, 2008 7:12 pm Da Thalionwen

» GUIDA : CAP 1 LEZIONE 1 Elementi di base dei programmi in C [Prima Parte]
Sab Nov 29, 2008 11:44 am Da ya89

» un semplice ciao
Sab Nov 29, 2008 11:38 am Da ya89

» Aiuto per alice 7 mega
Ven Nov 14, 2008 4:03 pm Da root

» FORUM: I nuovi banner
Ven Nov 14, 2008 2:48 pm Da Thalionwen

» Zooming Ricorsivo, questo sconosciuto.
Ven Nov 14, 2008 2:43 pm Da Thalionwen

» GUIDA : LEZIONE 4 : UTILIZZARE GLI ARRAY IN C#
Ven Nov 14, 2008 1:54 pm Da ab89

» GUIDA : CAP 1 LEZIONE 1 Elementi di base dei programmi in C [Terza e Ultima Parte]
Ven Nov 14, 2008 12:41 am Da ab89

» GUIDA : CAP 1 LEZIONE 1 Elementi di base dei programmi in C [Seconda Parte]
Mer Nov 12, 2008 12:59 am Da ab89

» [PS2] Dark Cloud
Mar Nov 11, 2008 6:50 pm Da ab89

» [PC] Sacred 2
Lun Nov 10, 2008 10:49 pm Da ab89

» GUIDA : CAP 1 LEZIONE 3 INTRODUZIONE AGLI ARRAY
Lun Nov 10, 2008 1:37 pm Da ab89

Flusso RSS


Yahoo! 
MSN 
AOL 
Netvibes 
Bloglines 



Fattoriale in C

Andare in basso

Fattoriale in C

Messaggio Da Eine The Phantom il Gio Ott 02, 2008 8:16 pm

Posto questo articolo per proporre una versione in C del calcolo del Fattoriale.
Presumo che chi legga questo articolo sappia cosa sia, rimando gli altri al seguente Link : Fattoriale - Wikipedia

La formula del Fattoriale è la seguente




E' una formula ricorsiva e in tale modo intento implementarla in C.
Dalla formula si nota che il fattoriale si scrive come una serie di prodotti dove un fattore viene moltiplicato per se stesso diminuito di 1.
n * (n - 1) * (n - 2) ... fino a quando (n-k) = 1 e si interrompe.
Da questo presupposto si parte per implementare l'algoritmo.

Notando anche che n! :
n! = n*(n - 1)!
(n - 1)! = (n-1)*(n-2)!
..
(n-k) = 0? ==> (n-k) = 1

generalizzando (n-k) con k che si incrementa.

Seguendo il metodo sopra indicato il metodo che ne deriva è il seguente

Codice:

int calcolaFattoriale(int n)
{
    //se n > 1 allora calcola il n * (n-1)!
    if (n == 1)
        return 1;
    else
        return n * calcolaFattoriale(n - 1);
}

codice in C

Ora passo a scrivere un paio di righe di codice che realizzano un programma che calcola il fattoriale

Codice:

//Autore : Eine The Phantom
//Programma : Calcolo Fattoriale

#include<stdio.h>

int calcolaFattoriale(int n);

main()
{
  int fattoriale, numero;
 
  printf("Inserisci il valore di cui calcolare il fattoriale \n");
  scanf("%d",&numero); //lettura valore
  fattoriale = calcolaFattoriale(numero); //calcola il fattoriale
  printf("Il fattoriale di %d è : %d \n",numero,fattoriale); 
  system("PAUSE");   
  return 0;
}

int calcolaFattoriale(int n)
{
    //se n > 1 allora calcola il n * (n-1)!
    if (n == 1)
        return 1;
    else
        return n * calcolaFattoriale(n - 1);
}


Spero di essere stato sufficientemente esplicativo. Se avete domande scrivete pure.

NB: tutto quanto scritto è frutto di una mia personale analisi

Eine The Phantom, Amministratore
avatar
Eine The Phantom
Admin
Admin

Numero di messaggi : 37
Data d'iscrizione : 28.09.08

Visualizza il profilo http://infonprog.forumattivo.it

Torna in alto Andare in basso

Torna in alto


 
Permessi di questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum