Corso di Informatica 1 (IN110)

Gli esercizi

Testi e soluzioni di alcuni esercizi

Funzioni per il calcolo del fattoriale

/* ** fattoriale.c ** ** Legge in input un numero intero e stampa in output il suo ** fattoriale (n * (n-1) * (n-2) * ... * 1) utilizzando una ** funzione iterativa ed una ricorsiva. ** ** Marco Liverani (liverani@mat.uniroma3.it) - Marzo 2001 */
#include <stdlib.h> #include <stdio.h>
/* * fattoriale con algoritmo iterativo */
long fattoriale1(int n) { long f=1; while (n>1) { f = f * n; n--; } return(f); }
/* * fattoriale con algoritmo ricorsivo */
long fattoriale2(int n) { long f; if (n>1) { f = n * fattoriale(n-1); } else { f = 1; } return(f); }
/* * funzione principale (main) */
int main(void) { int n; long f; printf("Inserisci un intero positivo: "); scanf("%d", &n); f = fattoriale1(n); printf("Algoritmo iterativo: %d! = %d\n", n, f); f = fattoriale2(n); printf("Algoritmo ricorsivo: %d! = %d\n", n, f); return(0); }

Author: Marco Liverani - Last modified: Saturday September 20, 2014 - URI: http://www.mat.uniroma3.it/users/liverani/IN110/20010314b.shtml