from math import * from math_stuff import * LIMIT = 100 pr = primes(LIMIT) print( ''' P: prime p: perfect q: almost perfect ''' ) print('{} FLAGS DIVISORS'.format("NUM".rjust(max(3,ceil(log10(LIMIT)))," "))) for i in range(1,LIMIT): flags = [ 'P' if (i in pr) else ' ', 'p' if (is_perfect(i)) else 'q' if (is_almost_perfect(i)) else ' ', ' ', # empty ' ', # empty ' ' # empty ] print(str(i).rjust(max(3,ceil(log10(LIMIT))),' '),''.join(flags),', '.join(map(str,divisors(i,True))))