gpt4 book ai didi

php - 有没有一种算法可以输出两组元素的所有可能组合?

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

我正在用 PHP 编写一个应用程序,用户可以在其中输入两组信息,并打印出两组信息的所有可能组合。目标是通过练习不同的问答模式,将其用作学习语言的教学工具。

比如我们可能会练习“你有没有试过……?”这个问题加上四种事件之一,如蹦极、帆伞运动、跳伞和水肺潜水。还有四种可能的答案:

  1. 是的,我有过,而且我很享受。
  2. 是的,我有,但我不喜欢。
  3. 没有,但我想试试。
  4. 不,我没有,我也不想尝试。

用户将输入两组数据,然后应用程序将打印包含所有可能的问题和答案组合的卡片。例如,卡片 1 看起来像这样:

  1. 跳伞:是的,我玩过,而且我很喜欢。
  2. 水肺潜水:是的,我有过,但我不喜欢。
  3. 帆伞运动:不,我没有,但我想尝试一下。
  4. 蹦极:不,我没有,我也不想尝试。

下一张卡片可能看起来像这样:

  1. 跳伞:是的,我玩过,但我不喜欢。
  2. 水肺潜水:不,我没有,但我想尝试一下。
  3. 帆伞运动:不,我没有,我也不想尝试。
  4. 蹦极:是的,我玩过,而且我喜欢。

如您所见,有许多不同的可能组合。这个想法是两个列表的长度相同,以允许打印出所有可能性。同样重要的是,任何问题或答案都不能在任何卡片上使用超过一次,并且两张卡片可以相同。最好的方法是什么?实际的输入和输出不是问题——我以前做过类似的事情。我只需要生成组合的算法。

编辑:我想我真正想要的是让每张卡片的事件顺序相同​​,但要有所有可能的答案组合。所以我真正需要的是能够生成以下一组索引,用于从答案数组中获取数据。所以我真的想要更像这样的东西:

  • 0,1,2,3
  • 0,1,3,2
  • 0,2,1,3
  • 0,2,3,1
  • 0,3,1,2
  • 0,3,2,1
  • 1,0,2,3
  • 1,0,3,2
  • 1,2,0,3
  • 1,2,3,0

...等等,直到产生所有可能的组合。

最佳答案

试试这个:

$activities = array(); // Input all your activities as elements here.
$responses = array(); // Input all your responses as elements here.

foreach ($activities as $activity) {
foreach ($responses as $response) {
echo $activities.' '.$response."\n";
}
}

关于php - 有没有一种算法可以输出两组元素的所有可能组合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12737650/

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