gpt4 book ai didi

随机回答/问题顺序算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:01:03 25 4
gpt4 key购买 nike

想象一下使用(随机)问题列表的测验。每个问题都有两个属性:

  • 正文
  • 回答

当一个问题出现在屏幕上时,会显示三个可能的答案,A、B 和 C。其中一个答案是该问题的正确答案,另外两个是 future 问题的答案。举例说明:

Question 1: how much is 2+2? A: 3, B: 4, C: 5

回答完这个问题后,答案 B 从屏幕上消失,出现一个新问题。第一个问题的答案A和C留在屏幕上,并添加一个新的答案B:

Question 2: how much 6-3? A: 3, B: 6, C: 5

现在答案 A 消失了,取而代之的是一个新的问题和答案:

Question 3: how much is 10/2? A: 2, B: 6, C: 5

此方案针对 X 个问题继续进行。最容易编程的算法是始终用问题 X+1 的新答案替换问题 X 的答案。当然这是没有意义的,因为参加测验的人会很快发现最新添加的答案总是正确的模式。

我可以想出一个硬编码的顺序,让问题和答案出现在屏幕上,这样 A/B/C 之间的一个很好的组合就是正确的答案,但我会随机化这个。我找不到以智能方式执行此操作的(数学)算法。问题需要是随机的,但答案不能。有时问题 X 的答案应该已经在几个问题前作为选项 A B 或 C 添加,因为它变得相关,但有时添加最新的答案也可以作为该问题的正确答案。

我的问题:我可以使用哪些技术或算法来解决这个问题?

  • 输入:{text,answer} 的列表
  • 输出:列表{text,answerA,answerB,answerC},其中 A/B/C 之一必须是正确答案,并且在列表中的两个相邻项目之间只有一个A/B/C 可以不同。

最佳答案

这是我的策略。假设正确答案总是消失。

  1. 我们将输入问题集命名为Q
  2. 创建一个大小为 3 的数组(我们将其命名为 A)
  3. Q中随机抽取3道题,将它们推送到A(从Q中移除)
  4. A中随机选择一个问题
  5. 显示所选问题的文本,选项是 A
  6. 中的 3 个 答案
  7. 用户选择其中之一,但我们假设正确答案总是消失
  8. Q 中选择另一个问题并替换 A 中的当前问题(从 Q 中删除)
  9. 转到 4 并重复直到 Q 为空

对于最后两个问题,他们不会有足够的干扰项,因此您可以生成随机干扰项或选择一些使用过的干扰项。

% 如果 Q 是一个数组,您可以通过交换随机选择的元素和最后一个有效元素来有效地删除元素。然后,您可以重复执行 rand() % NUM_REMAINING_QUESTIONS 之类的操作。

关于随机回答/问题顺序算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54810906/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com