The correct answer is: B. will have discovered
The sentence is about a future event, so we need to use a verb tense that expresses future time. The simple future tense (will + verb) is often used to talk about future events that are certain to happen. In this case, the speaker is confident that scientists will discover a cure for cancer by the end of the century.
The other options are not correct because they do not express future time. Option A, “are discovering,” is in the present progressive tense, which is used to talk about actions that are happening now. Option C, “must discover,” is in the modal verb “must,” which is used to express obligation or necessity. Option D, “will have been discovered,” is in the perfect future tense, which is used to talk about actions that will have been completed by a certain time in the future.
In conclusion, the
correct answer is: B. will have discovered. This verb tense expresses future time and is consistent with the speaker’s confidence that scientists will discover a cure for cancer by the end of the century.