00001 #include <p18cxxx.h>
00002 #include <stdio.h>
00003 typedef unsigned int uint16;
00004 typedef unsigned long uint32;
00005 uint16 i;
00006
00007 uint32 fact(uint16 n) {
00008 uint32 f;
00009 f = 1;
00010 while(n > 1) {
00011 f = f*n--;
00012 }
00013 return(f);
00014 }
00015
00016 main(void) {
00017 for(i=0; i<=10; i++) {
00018 printf("%d! = %lu\n",i,fact(i));
00019 }
00020 }