rewriting your function to make it simpler

int factor(int x)

{

if (x==10)

return 1;

else

return x * factor(x - 1);

}

factor(10) = 1

factor(11) = 11 * factor(10) = 11 * 1 = 11

factor(12) = 12 * factor(11) = 12 * 11

factor(13) = 13 * factor(12) = 13 * 12 * 11

factor(14) = 14 * factor(13) = 14 * 13 * 12 * 11

factor(15) = 15 * factor(14) = 15 * 14 * 13 * 12 * 11

let me know if you don't understand anything, or if I have misunderstood you.