FFT Questiom

For an FFT algorithm, does a factorization of the data set need to be known before making the program? Because I know that factorization is a hard problem in terms of time complexity, so I figure that you need to know beforehand the factorization of the number of data points initially to make it work out. I tried to look ot up online but all of the articles don't really talk about obtaining the factorization of the number of data points.