/* 6-2 * Tanel Toova * faktoriaali arvutamine rekursiivse funktsiooniga */ #include int ftr; int faktoriaal(int arv) { //if arv is greater than 0 then the variable ftr must be multiplicated with it one more time if(arv>0){ ftr=ftr*arv; //NB! first time ftr is 1 faktoriaal(arv-1); //function faktoriaal is called out with parameter arv that decreases by 1 every time } return(ftr); //value of ftr is returned } int main(int argc, char **argv) { //if argument is missing or has impropper value if(argc!=2 || atoi(argv[1])<1 || atoi(argv[1])>10){ printf(" Usage: %s \n",argv[0]); exit(1); } ftr=1; faktoriaal(atoi(argv[1])); printf("Faktoriaal arvust %s on %i\n",argv[1],ftr); return(0); }