int lookup_table[n]
должен быть помечен как статический (на самом деле это не может, вам нужна константа, но она не должна быть слишком большой, так как факториалы растут очень быстро), но это не совсем то, почему вы ошибаетесь ответ. Вместо этого lookup_table
инициализируется для неопределенного мусора вместо 0.
Однако, нет никаких оснований инициализировать его нулем, когда вы делаете его статическим; это будет сделано автоматически.
О, и как уже отмечали другие, у вас есть ошибка за пределами границ, потому что вам нужно обменять int lookup_table[n]
на использование константы вместо n
.