gpt4 book ai didi

使用递归计算紊乱? (c代码)

转载 作者:太空宇宙 更新时间:2023-11-04 07:19:03 25 4
gpt4 key购买 nike

我们一直在研究计算理论中的密码学,类里面出现了我感兴趣的紊乱的想法,所以我想对该主题进行一些调查。

为此,我一直在尝试编写一个 c 程序,该程序可以计算任意集合大小的紊乱,但遇到了一些麻烦。

我已经能够写一些东西来计算特定集合大小的紊乱,例如。 4:

#include <stdio.h>
#include <stdlib.h>

#define SET_SIZE 4


int main(void)
{
int i, j, k, l, counter = 0;

for (i = 0; i < SET_SIZE; i++)
{
for (j = 0; j < SET_SIZE; j++)
{
for (k = 0; k < SET_SIZE; k++)
{
for (l = 0; l < SET_SIZE; l++)
{
if (i != j && i != k && i != l && j != k && j != l && k != l)
{
if (i != 0 && j != 1 && k != 2 && l != 3)
counter++;
}
}
}
}
}

printf("number of derangements for size %d: %d\n", SET_SIZE, counter);
}

但我希望能够只输入一个集合大小的值作为程序的参数,并计算该集合大小的紊乱次数。

我认为使用递归可能是解决问题的一种方法,但我真的无法考虑我将如何去做

有人有什么想法吗?

最佳答案

要计算任意 n 个对象的重新排列数,您可以使用给定的公式 herelink .您可以通过阶乘实现来实现它。

关于使用递归计算紊乱? (c代码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22602291/

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