Option A Explanation:
It is a standard Undecidable problem if a given TM $M$ prints a symbol $\#$ or not.
Assume that You can decide if a given TM $M$ when run on a given $w$ will print a symbol $\#$ or not.
Now, I come to you to decide the Halting Problem.
You can do this: Given a TM $M$, you can change it a little bit. Just make small changes so that if $M$ halts then it prints a symbol $\#$, otherwise it does not print $\#$.
Now, if you can decide problem of printing $\#$, then you can also decide the halting problem.
That's the reduction from halting problem to the printing $\#$ problem.
- Undecidable, since the halting problem is reducible to it. Indeed, given $\text{M}$ (without $\#$ among the tape alphabet) build $\text{M}^{\prime}$ as follows: $\text{M}^{\prime}$ simulate $\text{M}$ but each time $\text{M}$ wants to halt $\text{M}^{\prime}$ first prints $\#$ and then halts. It is clear, that $\text{M}$ halts on $y$ if and only if $\text{M}^{\prime}$ writes $\#$ on input $y$. Therefore, if we could decide (A) we would be able to decide the halting problem.
- Decidable. This is a trivial property, since for each $\text{TM M}$ there are infinitely many $\text{TMs}\;\text{M}^{\prime}$ accepting the same r.e. set $\text{A = L(M)}$.
- Undecidable. Acceptance problem of $\text{TMs}.$
- Decidable. Run $\text{TM M}$ for max $2023$ steps on all strings of length $\leq 2023.$
Option D Explanation: https://gateoverflow.in/396348/go-classes-cs-test-series-2025-mock-gate-test-2-question-37?show=439558#c439558