home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1993 #2 / Image.iso / wp / be310a.zip / FACT.CHS < prev    next >
Text File  |  1993-08-01  |  1KB  |  32 lines

  1. /* CHESS FUNCTION(S): FACT.CHS -- standalone Chess program
  2. /*              DATE: 07-10-93
  3. /*            AUTHOR: C. Schanck
  4. /*
  5. /*       DESCRIPTION: this does a factorial generation -- useful as an 
  6. /* example of recursion         
  7. /* 
  8. /* This function uncovered a bug in v3.10's parsing routines.
  9. {
  10.    char temp[30];
  11.    int i;
  12.    temp[0]=0;
  13.    if((get_str(temp,"Find factorial of What number (1-12)?",2)%256)!=27){
  14.       /* if the user didn't press escape
  15.       i=atoi(temp);       /* convert to an integer
  16.       i=do_fact(i);       /* find its factorial
  17.       msg("%s factorial is %ld",temp,i); /* print it out
  18.       getkey();           /* wait for a keypress             
  19.       update_display();
  20.    }
  21. }
  22. do_fact           /* this function is a recursive one
  23. int n;            /* single parameter
  24. {
  25.    if((n<1)||(n>12)) /* if illegal, return 0
  26.       return(0);
  27.    else if(n==1)  /* if we are done with recursive call
  28.       return(1);
  29.    else           /* else, recurse another level
  30.       return(do_fact(n-1)*n);
  31. }
  32.