Accedi

Ho dimenticato la password

Ultimi argomenti
» argomento
Fattoriale in C EmptyDom Giu 02, 2013 4:30 pm Da ruggiero98

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

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

»  CALCOLO PERCENTUALE IN C
Fattoriale in C EmptySab Apr 20, 2013 8:22 pm Da ruggiero98

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

» Ciao a tutti!
Fattoriale in C EmptyGio Mar 22, 2012 4:19 am Da cosmos91

» Virtualbox VS le periferiche USB
Fattoriale in C EmptyMar Apr 06, 2010 1:49 pm Da dandeciani

» PROGRAMMA: BINARY CODE
Fattoriale in C EmptyMar Dic 23, 2008 7:28 pm Da Thalionwen

» saluti a tutti
Fattoriale in C EmptyMar Dic 23, 2008 7:12 pm Da Thalionwen

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

» un semplice ciao
Fattoriale in C EmptySab Nov 29, 2008 11:38 am Da ya89

» Aiuto per alice 7 mega
Fattoriale in C EmptyVen Nov 14, 2008 4:03 pm Da root

» FORUM: I nuovi banner
Fattoriale in C EmptyVen Nov 14, 2008 2:48 pm Da Thalionwen

» Zooming Ricorsivo, questo sconosciuto.
Fattoriale in C EmptyVen Nov 14, 2008 2:43 pm Da Thalionwen

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

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

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

» [PS2] Dark Cloud
Fattoriale in C EmptyMar Nov 11, 2008 6:50 pm Da ab89

» [PC] Sacred 2
Fattoriale in C EmptyLun Nov 10, 2008 10:49 pm Da ab89

» GUIDA : CAP 1 LEZIONE 3 INTRODUZIONE AGLI ARRAY
Fattoriale in C EmptyLun Nov 10, 2008 1:37 pm Da ab89

Flusso RSS


Yahoo! 
MSN 
AOL 
Netvibes 
Bloglines 



Fattoriale in C

Andare in basso

Fattoriale in C Empty 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

Fattoriale in C D1e3ff9abb603e3f04cac19b358413a2


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
Eine The Phantom
Eine The Phantom
Admin
Admin

Numero di messaggi : 37
Data d'iscrizione : 28.09.08

https://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