gpt4 book ai didi

c++ - 查找数组总数

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

我有一个由 N 个整数组成的数组 A。我还有一个整数 K。我想通过恰好应用以下操作 K 次,找出我可以从数组 A 中获得的不同数组的数量。

  • 选取数组中的某个元素并将其乘以-1

数组 A=[2,3,2] 且 k=2我有四种可能的数组

1.[2,3,2]2.[-2,-3,2]3.[-2,3,-2]4.[2,-3,-2]
这可以计算为 ∑nCr 的总和,其中 r 是 {k,k-2,k-4....}。

编辑

但是对于正数和负数的组合,假设我们的数组是 A=[-1,2,3] 和 k=3,所有可能的组合都是

1.[1,2,3] 2.[-1,-2,3] 3.[-1,2,-3 ] 4.[1,-2,-3]
总共4个数组,也总共4个数组。我刚刚提交了我认为应该正确的代码是

int main()
{
int n,k;
int arr[11];
arr[0]=1;
for (int i=1;i<=10;i++)
{
arr[i]=arr[i-1]*i;
//cout<<arr[i]<<" ";
}

long int ans=0;
cin>>n>>k; / n for number of elements and k for operations
for (int i=0;i<n;i++)
{
int num; array element
cin>>num;
}
int i=(k%2==0?2:1);
for(;i<=k;i+=2)
{
ans=ans+arr[n]/(arr[k]*arr[n-k]);
}
if(k%2==0)
ans=arr[n]/(arr[k]*arr[n-k])+1;
if(n==1 && k%2==1)
ans=1;
cout<<ans;
}

但它给出了错误的答案。请帮我解决这个问题。

最佳答案

这迎合了巨大的多维设置。一些暴力编码,使用并行数组处理语言 Dyalog APL对于 K = 1...10 和 N = 1...14,显示以下数量的唯一结果:

┌────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬────┬────┬────┬────┬────┐
│ │N=1│N=2│N=3│N=4│N=5│N=6│N=7│N=8│N=9│N=10│N=11│N=12│N=13│N=14│
├────┼───┼───┼───┼───┼───┼───┼───┼───┼───┼────┼────┼────┼────┼────┤
│K=1 │1 │2 │3 │4 │5 │6 │7 │8 │9 │10 │11 │12 │13 │14 │
├────┼───┼───┼───┼───┼───┼───┼───┼───┼───┼────┼────┼────┼────┼────┤
│K=2 │1 │2 │4 │7 │11 │16 │22 │29 │37 │46 │56 │67 │79 │92 │
├────┼───┼───┼───┼───┼───┼───┼───┼───┼───┼────┼────┼────┼────┼────┤
│K=3 │1 │2 │4 │8 │15 │26 │42 │64 │93 │130 │176 │232 │299 │378 │
├────┼───┼───┼───┼───┼───┼───┼───┼───┼───┼────┼────┼────┼────┼────┤
│K=4 │1 │2 │4 │8 │16 │31 │57 │99 │163│256 │386 │562 │794 │1093│
├────┼───┼───┼───┼───┼───┼───┼───┼───┼───┼────┼────┼────┼────┼────┤
│K=5 │1 │2 │4 │8 │16 │32 │63 │120│219│382 │638 │1024│1586│2380│
├────┼───┼───┼───┼───┼───┼───┼───┼───┼───┼────┼────┼────┼────┼────┤
│K=6 │1 │2 │4 │8 │16 │32 │64 │127│247│466 │848 │1486│2510│4096│
├────┼───┼───┼───┼───┼───┼───┼───┼───┼───┼────┼────┼────┼────┼────┤
│K=7 │1 │2 │4 │8 │16 │32 │64 │128│255│502 │968 │1816│3302│5812│
├────┼───┼───┼───┼───┼───┼───┼───┼───┼───┼────┼────┼────┼────┼────┤
│K=8 │1 │2 │4 │8 │16 │32 │64 │128│256│511 │1013│1981│3797│7099│
├────┼───┼───┼───┼───┼───┼───┼───┼───┼───┼────┼────┼────┼────┼────┤
│K=9 │1 │2 │4 │8 │16 │32 │64 │128│256│512 │1023│2036│4017│7814│
├────┼───┼───┼───┼───┼───┼───┼───┼───┼───┼────┼────┼────┼────┼────┤
│K=10│1 │2 │4 │8 │16 │32 │64 │128│256│512 │1024│2047│4083│8100│
└────┴───┴───┴───┴───┴───┴───┴───┴───┴───┴────┴────┴────┴────┴────┘

虽然它确实存在,但您看不到其中有任何明显的模式。我们可以看到的一件事是,当执行足够多的否定次数时(即 K 是“耗尽”数组),我们似乎达到 2^(N-1) 个独特的结果(即 1、2、4、8、16等)。

假设我们是暴力破解的。如果我们有一个长度为 4 的数组(即 N=4)且 K=1,则数组的元素 1、2、3 或 4 可以取反:

┌─┬─┬─┬─┐
│1│2│3│4│
└─┴─┴─┴─┘

如果 K=2,我们得到一个新的 a 维度(现在是一个二维问题)并且现在有 16 个可能的索引对用于求反:

┌───┬───┬───┬───┐
│1 1│1 2│1 3│1 4│
├───┼───┼───┼───┤
│2 1│2 2│2 3│2 4│
├───┼───┼───┼───┤
│3 1│3 2│3 3│3 4│
├───┼───┼───┼───┤
│4 1│4 2│4 3│4 4│
└───┴───┴───┴───┘

例如 [4 2] 表示 array[4] 和 array[2] 都将乘以 -1。

设置 K=3 使其成为 3 维:

┌─────┬─────┬─────┬─────┐┌─────┬─────┬─────┬─────┐┌─────┬─────┬─────┬─────┐┌─────┬─────┬─────┬─────┐
│1 1 1│1 1 2│1 1 3│1 1 4││2 1 1│2 1 2│2 1 3│2 1 4││3 1 1│3 1 2│3 1 3│3 1 4││4 1 1│4 1 2│4 1 3│4 1 4│
├─────┼─────┼─────┼─────┤├─────┼─────┼─────┼─────┤├─────┼─────┼─────┼─────┤├─────┼─────┼─────┼─────┤
│1 2 1│1 2 2│1 2 3│1 2 4││2 2 1│2 2 2│2 2 3│2 2 4││3 2 1│3 2 2│3 2 3│3 2 4││4 2 1│4 2 2│4 2 3│4 2 4│
├─────┼─────┼─────┼─────┤├─────┼─────┼─────┼─────┤├─────┼─────┼─────┼─────┤├─────┼─────┼─────┼─────┤
│1 3 1│1 3 2│1 3 3│1 3 4││2 3 1│2 3 2│2 3 3│2 3 4││3 3 1│3 3 2│3 3 3│3 3 4││4 3 1│4 3 2│4 3 3│4 3 4│
├─────┼─────┼─────┼─────┤├─────┼─────┼─────┼─────┤├─────┼─────┼─────┼─────┤├─────┼─────┼─────┼─────┤
│1 4 1│1 4 2│1 4 3│1 4 4││2 4 1│2 4 2│2 4 3│2 4 4││3 4 1│3 4 2│3 4 3│3 4 4││4 4 1│4 4 2│4 4 3│4 4 4│
└─────┴─────┴─────┴─────┘└─────┴─────┴─────┴─────┘└─────┴─────┴─────┴─────┘└─────┴─────┴─────┴─────┘

...例如 [1 1 1] 表示数组 [1] 将连续三次乘以 -1。现在我们还可以看到 64 种可能性中有一些是重复的。

在做暴力计算的时候,其实涉及到10维的数据。随着数据变得越来越庞大,系统最终会耗尽内存。

数组包含什么数值并不重要。相反,我们当然只需要弄清楚符号的变化,即。与 -1 的乘法。以下是 K = 1...5 和 N = 1...5 的唯一组合的可能数量:

┌───┬────┬───────────┬───────────────────────────────┬─────────────────────────────────────────────────────────────────────────────────┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ │N=1 │N=2 │N=3 │N=4 │N=5 │
├───┼────┼───────────┼───────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│K=1│┌──┐│┌────┬────┐│┌──────┬──────┬──────┐ │┌────────┬────────┬────────┬────────┐ │┌──────────┬──────────┬──────────┬──────────┬──────────┐ │
│ ││-1│││-1 1│1 -1│││-1 1 1│1 -1 1│1 1 -1│ ││-1 1 1 1│1 -1 1 1│1 1 -1 1│1 1 1 -1│ ││-1 1 1 1 1│1 -1 1 1 1│1 1 -1 1 1│1 1 1 -1 1│1 1 1 1 -1│ │
│ │└──┘│└────┴────┘│└──────┴──────┴──────┘ │└────────┴────────┴────────┴────────┘ │└──────────┴──────────┴──────────┴──────────┴──────────┘ │
├───┼────┼───────────┼───────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│K=2│┌─┐ │┌───┬─────┐│┌─────┬───────┬───────┬───────┐│┌───────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ │┌─────────┬───────────┬───────────┬───────────┬───────────┬───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ │
│ ││1│ ││1 1│-1 -1│││1 1 1│-1 -1 1│-1 1 -1│1 -1 -1│││1 1 1 1│-1 -1 1 1│-1 1 -1 1│-1 1 1 -1│1 -1 -1 1│1 -1 1 -1│1 1 -1 -1│ ││1 1 1 1 1│-1 -1 1 1 1│-1 1 -1 1 1│-1 1 1 -1 1│-1 1 1 1 -1│1 -1 -1 1 1│1 -1 1 -1 1│1 -1 1 1 -1│1 1 -1 -1 1│1 1 -1 1 -1│1 1 1 -1 -1│ │
│ │└─┘ │└───┴─────┘│└─────┴───────┴───────┴───────┘│└───────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ │└─────────┴───────────┴───────────┴───────────┴───────────┴───────────┴───────────┴───────────┴───────────┴───────────┴───────────┘ │
├───┼────┼───────────┼───────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│K=3│┌──┐│┌────┬────┐│┌──────┬──────┬──────┬────────┐│┌────────┬────────┬────────┬────────┬──────────┬──────────┬──────────┬──────────┐│┌──────────┬──────────┬──────────┬──────────┬──────────┬────────────┬────────────┬────────────┬────────────┬────────────┬────────────┬────────────┬────────────┬────────────┬────────────┐ │
│ ││-1│││-1 1│1 -1│││-1 1 1│1 -1 1│1 1 -1│-1 -1 -1│││-1 1 1 1│1 -1 1 1│1 1 -1 1│1 1 1 -1│-1 -1 -1 1│-1 -1 1 -1│-1 1 -1 -1│1 -1 -1 -1│││-1 1 1 1 1│1 -1 1 1 1│1 1 -1 1 1│1 1 1 -1 1│1 1 1 1 -1│-1 -1 -1 1 1│-1 -1 1 -1 1│-1 -1 1 1 -1│-1 1 -1 -1 1│-1 1 -1 1 -1│-1 1 1 -1 -1│1 -1 -1 -1 1│1 -1 -1 1 -1│1 -1 1 -1 -1│1 1 -1 -1 -1│ │
│ │└──┘│└────┴────┘│└──────┴──────┴──────┴────────┘│└────────┴────────┴────────┴────────┴──────────┴──────────┴──────────┴──────────┘│└──────────┴──────────┴──────────┴──────────┴──────────┴────────────┴────────────┴────────────┴────────────┴────────────┴────────────┴────────────┴────────────┴────────────┴────────────┘ │
├───┼────┼───────────┼───────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│K=4│┌─┐ │┌───┬─────┐│┌─────┬───────┬───────┬───────┐│┌───────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬───────────┐│┌─────────┬───────────┬───────────┬───────────┬───────────┬───────────┬───────────┬───────────┬───────────┬───────────┬───────────┬─────────────┬─────────────┬─────────────┬─────────────┬─────────────┐│
│ ││1│ ││1 1│-1 -1│││1 1 1│-1 -1 1│-1 1 -1│1 -1 -1│││1 1 1 1│-1 -1 1 1│-1 1 -1 1│-1 1 1 -1│1 -1 -1 1│1 -1 1 -1│1 1 -1 -1│-1 -1 -1 -1│││1 1 1 1 1│-1 -1 1 1 1│-1 1 -1 1 1│-1 1 1 -1 1│-1 1 1 1 -1│1 -1 -1 1 1│1 -1 1 -1 1│1 -1 1 1 -1│1 1 -1 -1 1│1 1 -1 1 -1│1 1 1 -1 -1│-1 -1 -1 -1 1│-1 -1 -1 1 -1│-1 -1 1 -1 -1│-1 1 -1 -1 -1│1 -1 -1 -1 -1││
│ │└─┘ │└───┴─────┘│└─────┴───────┴───────┴───────┘│└───────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────────┘│└─────────┴───────────┴───────────┴───────────┴───────────┴───────────┴───────────┴───────────┴───────────┴───────────┴───────────┴─────────────┴─────────────┴─────────────┴─────────────┴─────────────┘│
├───┼────┼───────────┼───────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│K=5│┌──┐│┌────┬────┐│┌──────┬──────┬──────┬────────┐│┌────────┬────────┬────────┬────────┬──────────┬──────────┬──────────┬──────────┐│┌──────────┬──────────┬──────────┬──────────┬──────────┬────────────┬────────────┬────────────┬────────────┬────────────┬────────────┬────────────┬────────────┬────────────┬────────────┬──────────────┐│
│ ││-1│││-1 1│1 -1│││-1 1 1│1 -1 1│1 1 -1│-1 -1 -1│││-1 1 1 1│1 -1 1 1│1 1 -1 1│1 1 1 -1│-1 -1 -1 1│-1 -1 1 -1│-1 1 -1 -1│1 -1 -1 -1│││-1 1 1 1 1│1 -1 1 1 1│1 1 -1 1 1│1 1 1 -1 1│1 1 1 1 -1│-1 -1 -1 1 1│-1 -1 1 -1 1│-1 -1 1 1 -1│-1 1 -1 -1 1│-1 1 -1 1 -1│-1 1 1 -1 -1│1 -1 -1 -1 1│1 -1 -1 1 -1│1 -1 1 -1 -1│1 1 -1 -1 -1│-1 -1 -1 -1 -1││
│ │└──┘│└────┴────┘│└──────┴──────┴──────┴────────┘│└────────┴────────┴────────┴────────┴──────────┴──────────┴──────────┴──────────┘│└──────────┴──────────┴──────────┴──────────┴──────────┴────────────┴────────────┴────────────┴────────────┴────────────┴────────────┴────────────┴────────────┴────────────┴────────────┴──────────────┘│
└───┴────┴───────────┴───────────────────────────────┴─────────────────────────────────────────────────────────────────────────────────┴─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

这无疑向我们展示了模式。如果 K 是奇数,我们得到奇数个否定,如果 K 是偶数,我们得到偶数个否定。两者都可能发生在数组大小 N 所允许的数量内。即。如果 K=5,我们可以得到 1 或 3 或 5 个否定或适合数组的内容; IE。如果 N=4,我们不可能有 5 个否定,而只有 1 个或 3 个。

因此,我们可以使用阶乘/二项式 (m!n) 来解决这个问题,它告诉我们 n 个数字空间中 m 个元素的唯一组合的可能数量。 IE。 3!5 将返回 10,因为有 10 种方法可以组合 1,2,3,4,5 的 3 个元素:

1 2 3
1 2 4
1 2 5
1 3 4
1 3 5
1 4 5
2 3 4
2 3 5
2 4 5
3 4 5

4!5 会返回 5:

1 2 3 4
1 2 3 5
1 2 4 5
1 3 4 5
2 3 4 5

3!3 将返回 1:

1 2 3

这个问题的公式是(2个例子):

combinations = (1!6) + (3!6) + (5!6) + (7!6) // K=7, N=6 - note that K is odd
combinations = (0!6) + (2!6) + (4!6) + (6!6) // K=6, N=6 - note that K is even

注意:
0!n 始终为 1
n!n 始终为 1
(>n)!n 始终为 0(例如 12!7 将返回 0)

要解决这个任务,请执行(同样,对于一个大集合,其中 K = 1...10 和 N = 1...14):

┌────┬────────────────────────────────────┬────────────────────────────────────┬────────────────────────────────────┬────────────────────────────────────┬────────────────────────────────────┬────────────────────────────────────┬────────────────────────────────────┬────────────────────────────────────┬────────────────────────────────────┬──────────────────────────────────────────┬──────────────────────────────────────────┬──────────────────────────────────────────┬──────────────────────────────────────────┬──────────────────────────────────────────┐
│ │N=1 │N=2 │N=3 │N=4 │N=5 │N=6 │N=7 │N=8 │N=9 │N=10 │N=11 │N=12 │N=13 │N=14 │
├────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┤
│K=1 │(1!1) │(1!2) │(1!3) │(1!4) │(1!5) │(1!6) │(1!7) │(1!8) │(1!9) │(1!10) │(1!11) │(1!12) │(1!13) │(1!14) │
├────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┤
│K=2 │(0!1)+(2!1) │(0!2)+(2!2) │(0!3)+(2!3) │(0!4)+(2!4) │(0!5)+(2!5) │(0!6)+(2!6) │(0!7)+(2!7) │(0!8)+(2!8) │(0!9)+(2!9) │(0!10)+(2!10) │(0!11)+(2!11) │(0!12)+(2!12) │(0!13)+(2!13) │(0!14)+(2!14) │
├────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┤
│K=3 │(1!1)+(3!1) │(1!2)+(3!2) │(1!3)+(3!3) │(1!4)+(3!4) │(1!5)+(3!5) │(1!6)+(3!6) │(1!7)+(3!7) │(1!8)+(3!8) │(1!9)+(3!9) │(1!10)+(3!10) │(1!11)+(3!11) │(1!12)+(3!12) │(1!13)+(3!13) │(1!14)+(3!14) │
├────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┤
│K=4 │(0!1)+(2!1)+(4!1) │(0!2)+(2!2)+(4!2) │(0!3)+(2!3)+(4!3) │(0!4)+(2!4)+(4!4) │(0!5)+(2!5)+(4!5) │(0!6)+(2!6)+(4!6) │(0!7)+(2!7)+(4!7) │(0!8)+(2!8)+(4!8) │(0!9)+(2!9)+(4!9) │(0!10)+(2!10)+(4!10) │(0!11)+(2!11)+(4!11) │(0!12)+(2!12)+(4!12) │(0!13)+(2!13)+(4!13) │(0!14)+(2!14)+(4!14) │
├────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┤
│K=5 │(1!1)+(3!1)+(5!1) │(1!2)+(3!2)+(5!2) │(1!3)+(3!3)+(5!3) │(1!4)+(3!4)+(5!4) │(1!5)+(3!5)+(5!5) │(1!6)+(3!6)+(5!6) │(1!7)+(3!7)+(5!7) │(1!8)+(3!8)+(5!8) │(1!9)+(3!9)+(5!9) │(1!10)+(3!10)+(5!10) │(1!11)+(3!11)+(5!11) │(1!12)+(3!12)+(5!12) │(1!13)+(3!13)+(5!13) │(1!14)+(3!14)+(5!14) │
├────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┤
│K=6 │(0!1)+(2!1)+(4!1)+(6!1) │(0!2)+(2!2)+(4!2)+(6!2) │(0!3)+(2!3)+(4!3)+(6!3) │(0!4)+(2!4)+(4!4)+(6!4) │(0!5)+(2!5)+(4!5)+(6!5) │(0!6)+(2!6)+(4!6)+(6!6) │(0!7)+(2!7)+(4!7)+(6!7) │(0!8)+(2!8)+(4!8)+(6!8) │(0!9)+(2!9)+(4!9)+(6!9) │(0!10)+(2!10)+(4!10)+(6!10) │(0!11)+(2!11)+(4!11)+(6!11) │(0!12)+(2!12)+(4!12)+(6!12) │(0!13)+(2!13)+(4!13)+(6!13) │(0!14)+(2!14)+(4!14)+(6!14) │
├────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┤
│K=7 │(1!1)+(3!1)+(5!1)+(7!1) │(1!2)+(3!2)+(5!2)+(7!2) │(1!3)+(3!3)+(5!3)+(7!3) │(1!4)+(3!4)+(5!4)+(7!4) │(1!5)+(3!5)+(5!5)+(7!5) │(1!6)+(3!6)+(5!6)+(7!6) │(1!7)+(3!7)+(5!7)+(7!7) │(1!8)+(3!8)+(5!8)+(7!8) │(1!9)+(3!9)+(5!9)+(7!9) │(1!10)+(3!10)+(5!10)+(7!10) │(1!11)+(3!11)+(5!11)+(7!11) │(1!12)+(3!12)+(5!12)+(7!12) │(1!13)+(3!13)+(5!13)+(7!13) │(1!14)+(3!14)+(5!14)+(7!14) │
├────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┤
│K=8 │(0!1)+(2!1)+(4!1)+(6!1)+(8!1) │(0!2)+(2!2)+(4!2)+(6!2)+(8!2) │(0!3)+(2!3)+(4!3)+(6!3)+(8!3) │(0!4)+(2!4)+(4!4)+(6!4)+(8!4) │(0!5)+(2!5)+(4!5)+(6!5)+(8!5) │(0!6)+(2!6)+(4!6)+(6!6)+(8!6) │(0!7)+(2!7)+(4!7)+(6!7)+(8!7) │(0!8)+(2!8)+(4!8)+(6!8)+(8!8) │(0!9)+(2!9)+(4!9)+(6!9)+(8!9) │(0!10)+(2!10)+(4!10)+(6!10)+(8!10) │(0!11)+(2!11)+(4!11)+(6!11)+(8!11) │(0!12)+(2!12)+(4!12)+(6!12)+(8!12) │(0!13)+(2!13)+(4!13)+(6!13)+(8!13) │(0!14)+(2!14)+(4!14)+(6!14)+(8!14) │
├────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┤
│K=9 │(1!1)+(3!1)+(5!1)+(7!1)+(9!1) │(1!2)+(3!2)+(5!2)+(7!2)+(9!2) │(1!3)+(3!3)+(5!3)+(7!3)+(9!3) │(1!4)+(3!4)+(5!4)+(7!4)+(9!4) │(1!5)+(3!5)+(5!5)+(7!5)+(9!5) │(1!6)+(3!6)+(5!6)+(7!6)+(9!6) │(1!7)+(3!7)+(5!7)+(7!7)+(9!7) │(1!8)+(3!8)+(5!8)+(7!8)+(9!8) │(1!9)+(3!9)+(5!9)+(7!9)+(9!9) │(1!10)+(3!10)+(5!10)+(7!10)+(9!10) │(1!11)+(3!11)+(5!11)+(7!11)+(9!11) │(1!12)+(3!12)+(5!12)+(7!12)+(9!12) │(1!13)+(3!13)+(5!13)+(7!13)+(9!13) │(1!14)+(3!14)+(5!14)+(7!14)+(9!14) │
├────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┤
│K=10│(0!1)+(2!1)+(4!1)+(6!1)+(8!1)+(10!1)│(0!2)+(2!2)+(4!2)+(6!2)+(8!2)+(10!2)│(0!3)+(2!3)+(4!3)+(6!3)+(8!3)+(10!3)│(0!4)+(2!4)+(4!4)+(6!4)+(8!4)+(10!4)│(0!5)+(2!5)+(4!5)+(6!5)+(8!5)+(10!5)│(0!6)+(2!6)+(4!6)+(6!6)+(8!6)+(10!6)│(0!7)+(2!7)+(4!7)+(6!7)+(8!7)+(10!7)│(0!8)+(2!8)+(4!8)+(6!8)+(8!8)+(10!8)│(0!9)+(2!9)+(4!9)+(6!9)+(8!9)+(10!9)│(0!10)+(2!10)+(4!10)+(6!10)+(8!10)+(10!10)│(0!11)+(2!11)+(4!11)+(6!11)+(8!11)+(10!11)│(0!12)+(2!12)+(4!12)+(6!12)+(8!12)+(10!12)│(0!13)+(2!13)+(4!13)+(6!13)+(8!13)+(10!13)│(0!14)+(2!14)+(4!14)+(6!14)+(8!14)+(10!14)│
└────┴────────────────────────────────────┴────────────────────────────────────┴────────────────────────────────────┴────────────────────────────────────┴────────────────────────────────────┴────────────────────────────────────┴────────────────────────────────────┴────────────────────────────────────┴────────────────────────────────────┴──────────────────────────────────────────┴──────────────────────────────────────────┴──────────────────────────────────────────┴──────────────────────────────────────────┴──────────────────────────────────────────┘

结果与之前的暴力破解结果相同:

       N=1  N=2  N=3  N=4  N=5  N=6  N=7  N=8  N=9  N=10  N=11  N=12  N=13  N=14 
K=1 1 2 3 4 5 6 7 8 9 10 11 12 13 14
K=2 1 2 4 7 11 16 22 29 37 46 56 67 79 92
K=3 1 2 4 8 15 26 42 64 93 130 176 232 299 378
K=4 1 2 4 8 16 31 57 99 163 256 386 562 794 1093
K=5 1 2 4 8 16 32 63 120 219 382 638 1024 1586 2380
K=6 1 2 4 8 16 32 64 127 247 466 848 1486 2510 4096
K=7 1 2 4 8 16 32 64 128 255 502 968 1816 3302 5812
K=8 1 2 4 8 16 32 64 128 256 511 1013 1981 3797 7099
K=9 1 2 4 8 16 32 64 128 256 512 1023 2036 4017 7814
K=10 1 2 4 8 16 32 64 128 256 512 1024 2047 4083 8100

这些是经过 K 次修改后唯一数组的总数。希望这能澄清 :-)。

关于c++ - 查找数组总数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37709170/

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