/* Lasketaan pos. kok. luvun kertoma */ #include main() { int i,n; long int fact; /* Kertomaa varten kannattaa varata suuri muuttuja. * Jos long long int -tyyppi on käytössä, käytä sitä */ printf("Enter n: "); scanf("%i",&n); /* Lasketaan lukujen tulo muuttujaan fact. Muuttuja on * alustettava ykköseksi (kertolaskun suhteen neutraali alkio) * vastaavasti kuin summa oli alustettava nollaksi (yhteenlaskun * suhteen neutraali alkio). */ fact=1; i=1; while(i<=n) { fact *= i; i++; } /* Sama for-lausekkeella: (toistettavia lauseita on vain yksi * joten aaltosulkeita ei tarvita) */ /* for(i=1,fact=1; i<=n; i++) fact *= i; */ printf("The factorial of %i is %i.\n",n,fact); /* HUOM. Luvun n kertoma kasvaa todella voimakkaasti kun n * kasvaa. Jo alle 20:ssä int-tyyppisen muuttujan lukualue * loppuu kesken. */ }