gpt4 book ai didi

algorithm - 获取数组的所有产品

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

如何计算数组的所有产品并为每个组合返回两个产品?

数组:

[2, 2, 3, 4]

输出:

1, 2*2*3*4
2, 2*3*4
2*2, 3*4
2*2*3, 4
2*2*4, 3
2*3, 2*4

我希望我的输出包含所有这些。欢迎任何想法、伪代码、代码。

最佳答案

由于某些因素是重复的,您需要考虑它们的多重性以避免重复某些产品。

如果需要,对数组进行排序并计算重数(连续相等的值)。

然后,假设 k 个不同的值具有各自的重数 Mk,您将模拟 k 个嵌套循环,每个循环从 0 到 Mk(含)。对于此仿真,考虑一个全部初始化为 0 的计数器数组。然后递增第一个计数器,当它达到最大值时,将其重置并进位到下一个计数器。如果下一个计数器达到最大值,将其重置并进行下一个...

使用这些计数器作为因子的指数并计算乘积。第二个数字是所有因素除以第一个数字的乘积。

例如

Values:         2, 3, 4
Multiplicities: 2, 1, 1

Counters:
000
100
200
010
110
210
001
101
201
011
111
211

First numbers:
1
2

3
2.3
2²3
4
2.4
2²4
3.4
2.3.4
2²3.4

Second numbers = 2²3.4 / First numbers

乘积对的总数等于乘积加一,(M1+1)(M2+1)...(Mk+1)。

关于algorithm - 获取数组的所有产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44100755/

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