#!/usr/bin/env fslpython
#
# A FEEDS test which does some useless busy work.
#

from __future__ import print_function


import sys
import os.path as op
import time
import math


def factorial(n):

    if   n == 1: return 1
    elif n <  1: return 0

    fac = 1

    while n > 1:
        fac *= n
        n   -= 1

    return fac


def numdigits(n):
    return math.floor(math.log10(n)) + 1


outdir = sys.argv[1]
seed   = 266648
start  = time.time()
fac    = factorial(seed)
ndig   = numdigits(fac)
end    = time.time()

print('numdigits(factorial({})) = {}'.format(seed, ndig))
print('  calculated in {:0.3f} seconds'.format(end - start))

with open(op.join(outdir, 'output.txt'), 'wt') as f:
    f.write('{:d},{:d}\n'.format(seed, ndig))
