fork download
  1. indent n = concat $ replicate n " "
  2.  
  3. gen n = "case n of\n" ++ concatMap f [0..n] ++ "end\n" where
  4. f i = " " ++ show i ++ ": a := '" ++ (show $ product [1..i]) ++ "';\n"
  5.  
  6. main = putStrLn $ gen 64
Success #stdin #stdout 0s 5680KB
stdin
Standard input is empty
stdout
case n of
  0: a := '1';
  1: a := '1';
  2: a := '2';
  3: a := '6';
  4: a := '24';
  5: a := '120';
  6: a := '720';
  7: a := '5040';
  8: a := '40320';
  9: a := '362880';
  10: a := '3628800';
  11: a := '39916800';
  12: a := '479001600';
  13: a := '6227020800';
  14: a := '87178291200';
  15: a := '1307674368000';
  16: a := '20922789888000';
  17: a := '355687428096000';
  18: a := '6402373705728000';
  19: a := '121645100408832000';
  20: a := '2432902008176640000';
  21: a := '51090942171709440000';
  22: a := '1124000727777607680000';
  23: a := '25852016738884976640000';
  24: a := '620448401733239439360000';
  25: a := '15511210043330985984000000';
  26: a := '403291461126605635584000000';
  27: a := '10888869450418352160768000000';
  28: a := '304888344611713860501504000000';
  29: a := '8841761993739701954543616000000';
  30: a := '265252859812191058636308480000000';
  31: a := '8222838654177922817725562880000000';
  32: a := '263130836933693530167218012160000000';
  33: a := '8683317618811886495518194401280000000';
  34: a := '295232799039604140847618609643520000000';
  35: a := '10333147966386144929666651337523200000000';
  36: a := '371993326789901217467999448150835200000000';
  37: a := '13763753091226345046315979581580902400000000';
  38: a := '523022617466601111760007224100074291200000000';
  39: a := '20397882081197443358640281739902897356800000000';
  40: a := '815915283247897734345611269596115894272000000000';
  41: a := '33452526613163807108170062053440751665152000000000';
  42: a := '1405006117752879898543142606244511569936384000000000';
  43: a := '60415263063373835637355132068513997507264512000000000';
  44: a := '2658271574788448768043625811014615890319638528000000000';
  45: a := '119622220865480194561963161495657715064383733760000000000';
  46: a := '5502622159812088949850305428800254892961651752960000000000';
  47: a := '258623241511168180642964355153611979969197632389120000000000';
  48: a := '12413915592536072670862289047373375038521486354677760000000000';
  49: a := '608281864034267560872252163321295376887552831379210240000000000';
  50: a := '30414093201713378043612608166064768844377641568960512000000000000';
  51: a := '1551118753287382280224243016469303211063259720016986112000000000000';
  52: a := '80658175170943878571660636856403766975289505440883277824000000000000';
  53: a := '4274883284060025564298013753389399649690343788366813724672000000000000';
  54: a := '230843697339241380472092742683027581083278564571807941132288000000000000';
  55: a := '12696403353658275925965100847566516959580321051449436762275840000000000000';
  56: a := '710998587804863451854045647463724949736497978881168458687447040000000000000';
  57: a := '40526919504877216755680601905432322134980384796226602145184481280000000000000';
  58: a := '2350561331282878571829474910515074683828862318181142924420699914240000000000000';
  59: a := '138683118545689835737939019720389406345902876772687432540821294940160000000000000';
  60: a := '8320987112741390144276341183223364380754172606361245952449277696409600000000000000';
  61: a := '507580213877224798800856812176625227226004528988036003099405939480985600000000000000';
  62: a := '31469973260387937525653122354950764088012280797258232192163168247821107200000000000000';
  63: a := '1982608315404440064116146708361898137544773690227268628106279599612729753600000000000000';
  64: a := '126886932185884164103433389335161480802865516174545192198801894375214704230400000000000000';
end