JIX proposed this 34 bytes long solution.i=l=1;(l%i+=1)>i-2&&p(i)while l*=i
Congratulations Jix, it was entertaining me and flgr.
I proposed a 40 bytes solution that isn't endless:l=1;2.upto(1000){|i|p i if l%i>i-2;l*=i}
--Simon Strandgaard