Are you working with decimal or binary numbers? The easy way is working with binary.
My idea for this is just implement a module that multiply two numbers. And then you can split the tape with a arbitrary symbol like '&'. Using the module created, make the number in the left side of '&' multiply the number in right side of '&', after multiplying, just decrement the number in the left side. When the number in the left is equal to one, you can stop.
For example (5!):
Blank | 101 | & | 0000001 | Blank
Blank | 100 | & | 0000101 | Blank
Blank | 011 | & | 0010100 | Blank
Blank | 010 | & | 0111100 | Blank
Blank | 001 | & | 1111000 | Blank
The result is 1111000 in binary. If you want work in decimal, you have to implement the multiplication module for all digits [0-9].
Now just decrement the value in the right side until the value is 0, and each iteration add 1 to other place. This is gonna work, but a better way is make operations for "111" representation, and do them instead of binary operations.
Algorithm:
1. Go to left and crate symbol '&' in a blank space.
2. Go to left and put factorial number (5! = '11111').
3. Go to right until the symbol is not '&'.
4. Go 1 more step to right.
5. Write '1' in a blank space.
6. While left side of '&' not equals to '1'
7. Multiply the number in the left side of '&' with the number in the right side of '&'.
8. Put the result in the right side of '&'.
9. Decrement the number in the left side of '&'.
To do this in a Turing Machine is a kind of tedious, because you will need implement the methods of multiply, decrement and comparison. But using unary representation is not so hard to do.
Btw, are you using some software to make your tests? In my graduation I use JFLAP, is easy to work with it.
We'll first proof that a Turing Machine with a finite alphabet of size $n$ can be reduced to a Turing Machine with a finite alphabet of size 2 (with more stats, of course)
Give each of the symbols a binary code of length $\lceil \log_2 n \rceil$ and split each cell to $\lceil \log_2 n \rceil$ subcells, which will be the cells of the new Turing Machine.
For each state, we need $2^{\log_2 n}$ states to read the symbol. Then we decide what symbol to write per state. This takes $n \log_2 n$ states. Then moving to another state takes another takes $2 \log_2 n$ states.
The exact number doesn't matter, what matters is that we can reduce it.
More detail on this you can read here.
Note that a Turing machine with alphabet $\Sigma_1 \cup \Sigma_2$ is at least as strong as the second Turing machine in your question. But this Turing machine is equivalent to the Turing machine with alphabet size 2, which is in turn equivalent to the Turing machine with alphabet $\Sigma$.
I hope this answers your question.
Best Answer
In the statement of the problem, you are allowed to use tape after the input string as rewritable memory. Although if you're not convinced about the weaker case where the Turing machine is entirely read-only, I'd suggest thinking about that first.
From the perspective of all the computation happening in the writable memory, when it sends the head into the read-only part of memory, it feels like sending a probe off into an unknown void. The writable memory stays static until the probe returns with the information it captured.
The issue is that when sending the head into the read-only section of the tape, all of the information about what your want to probe about the input must be stored in the finite state of the Turing machine when it gets sent into the read-only section. And all of the information you get back must be stored in the finite state of the Turing machine when it returns.
So there's really only finitely many possible queries you can make of the input string, one for each state you could enter the read-only section in. The result of the query is read off from the state you leave the read-only section in. The list of answers to each of these queries fully encapsulates all the information this particular Turing machine can capture about the input.
There are a few fiddly details about handing the fact that the head starts in the read-only section, or what to do if the machine accepts or rejects while the head is in the read-only section. These appear to be covered in the answer to the question you linked.