假设有一个使用随机问题列表的测验。每个问题有两个属性:
文本
答案
当问题显示在屏幕上时,会显示三个可能的答案:A、B和C。其中一个是问题的正确答案,另外两个是未来问题的答案。以下是一个例子:
问题1:2+2等于多少?A:3,B:4,C:5
回答这个问题后,答案B从屏幕上移除,新问题出现了。第一个问题的答案A和C仍然在屏幕上,但添加了一个新答案B:
问题2:6-3等于多少?A:3,B:6(正确答案),C:5
现在答案A消失了,并且在其位置上出现一个新问题和答案:
问题3:10/2等于多少?A:2(正确答案),B:6,C:5
这种方案持续X个问题。编写最简单的算法是始终用问题X+1的新答案替换问题X的答案。当然这是没有意义的,因为参加测验的人很快就会发现这样的规律,即最新添加的答案总是正确的。
我可以想出一种硬编码的顺序,在屏幕上出现问题和答案之间有良好的A/B/C混合,但我想要随机化这个过程。我找不到一种聪明的方法来解决这个问题。问题需要是随机的,但答案不能随机。有时,在问题变得相关之前,问题X的答案应该已经作为选项A、B或C添加几个问题了,但有时最新的答案也可以成为该问题的正确答案。
我的问题是:我可以使用什么技术或算法来解决这个问题?
输入:{文本,答案}列表
输出:{文本,答案A,答案B,答案C}列表,其中A/B/C中的一个必须是正确答案,并且在列表中相邻的两个项目之间只能有一个A/B/C不同。
文本
答案
当问题显示在屏幕上时,会显示三个可能的答案:A、B和C。其中一个是问题的正确答案,另外两个是未来问题的答案。以下是一个例子:
问题1:2+2等于多少?A:3,B:4,C:5
回答这个问题后,答案B从屏幕上移除,新问题出现了。第一个问题的答案A和C仍然在屏幕上,但添加了一个新答案B:
问题2:6-3等于多少?A:3,B:6(正确答案),C:5
现在答案A消失了,并且在其位置上出现一个新问题和答案:
问题3:10/2等于多少?A:2(正确答案),B:6,C:5
这种方案持续X个问题。编写最简单的算法是始终用问题X+1的新答案替换问题X的答案。当然这是没有意义的,因为参加测验的人很快就会发现这样的规律,即最新添加的答案总是正确的。
我可以想出一种硬编码的顺序,在屏幕上出现问题和答案之间有良好的A/B/C混合,但我想要随机化这个过程。我找不到一种聪明的方法来解决这个问题。问题需要是随机的,但答案不能随机。有时,在问题变得相关之前,问题X的答案应该已经作为选项A、B或C添加几个问题了,但有时最新的答案也可以成为该问题的正确答案。
我的问题是:我可以使用什么技术或算法来解决这个问题?
输入:{文本,答案}列表
输出:{文本,答案A,答案B,答案C}列表,其中A/B/C中的一个必须是正确答案,并且在列表中相邻的两个项目之间只能有一个A/B/C不同。