Bueno siendo asi...
Mira, sabemos que un numero primo es primo cuando es solamente divisible entre si mismo y la unidad no?
Es decir, que si un numero es divisible entre otro, tambien es divisible entre los factores de ese otro

ya no me entendi ni yo!
Para este efecto, me parece que deberias utilizar un arreglo

almacenando cierta cantidad de numeros, vamos a decir, 100, despues tendras que pedir el numero a probar, con ese numero tendras que buscar la division entre cualquiera de los numeros del arreglo, si el residuo de dicho numero antes o despues de si mismo, y de la unidad, es = 0 entonces no es primo
Para el factorial con una funcion recursiva basta desde
m = input
n=1 hasta que n =m
x = n*n+1
Algo asi

ahi ta la idea, ahora es cuestion de que pongas a ciclar tu maquina y tu cerebro.
Salu2,