/* atk1 h4t1 -- kertoman lasku */ #include main() { /* n on luku, jonka kertoma lasketaan, i käy läpi kaikki kok. luvut välillä 1...n, kertoma-muuttujaan lasketaan itse kertoma siten että muuttujaa kertoma kerrotaan i:llä jokaisen toistokierroksen aikana */ /* ideana on siis, että n luvun kertominen keskenään puretaan kahden luvun keskinäisiin kertolaskuihin. esim. lasketaan ensin 1*2, kerrotaan tätä tuloa 3:lla, ja saatua tuloa kerrotaan edelleen 4:llä jne. */ int n,i,kertoma; printf("Anna pos. kok. luku n: "); scanf("%d",&n); /* while */ i=1; kertoma=1; while(i<=n) { kertoma *= i; i++; } printf("\nwhile-silmukalla: \tn! = %d\n",kertoma); /* do-while */ i=1; kertoma=1; do { kertoma *= i; i++; } while (i<=n); printf("do-while-silmukalla: \tn! = %d\n",kertoma); /* for */ /* nyt silmukan sisään jää vain yksi käsky -- ei tarvita aaltosulkeita */ for(i=1,kertoma=1;i<=n;i++) kertoma *= i; printf("for-silmukalla: \tn! = %d\n\n",kertoma); }