import math


def exponential_growth(p, r, t):
    """
    Models exponential growth over discrete generations.
    
    :param p: initial population
    :param r: growth rate
    :param t: number of generations
    :type p: numeric
    :type t: numeric
    :type r: numeric

    :returns: population size at time t
    :rtype: numeric
    """
    return p * math.exp(r * t)