gpt4 book ai didi

c++ - 多线程暴力和递归多维循环。其他方式?

转载 作者:行者123 更新时间:2023-11-30 17:56:45 27 4
gpt4 key购买 nike

我喜欢在编程方面自己解决问题...所以我正在考虑一种循环遍历具有动态维度的多维数组的方法。 (主要针对暴力破解等)

我想出的循环未知维度数组的方法如下:

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

/* a simple example of the method I'm using */
void func(int *v,char *usable,int len,int D,int d)
{
for(v[d] = 0; v[d] < len; v[d]++)
{
if(d+1 < D)
func(v,len,D,d+1);
else
{
for(int i = 0; i < D; i++)
printf("%c",usable[v[i]]);
printf("\r");
}
}
}
int main()
{
int *v,z,min = 4,max = 6;
for(z = min; z <= max; z++)
{
v = malloc(sizeof(int)*z);
func(v,"0123456789",10,z,0);
printf("\n");
free(v);
}
return 0;
}

我认为这是一个很好的优雅的解决方案,但是在考虑多线程进程时我遇到了更多问题。我想知道我尚未发现的此类流程的替代解决方案,以及多线程处理的可能方法这样的流程。我尝试过的一种方法是创建预先确定的 block ,但由于当数字或可用字符增加太大时需要处理大量值,它们会溢出任何正常变量。

有人可能会问:“为什么需要创建多线程强力。”我会回答说,创建多线程暴力的能力意味着能够进行多线程其他进程,例如迷宫求解和最佳路线确定。

提前谢谢您。

最佳答案

我仍然对你试图用你的代码做什么感到困惑。但从你的描述来看。您说您正在尝试开发一种“循环遍历具有动态维度的多维数组的方法。”

对我来说,该语句表示您想要循环遍历 n 维数组。因此,它将循环遍历 array[n] 或循环遍历 array[n][m] 等等,以获取任意数量的维度和长度。这就是你想要做的事情吗?如果是这样,您可以简单地使用模板化函数来循环 n 维数组。

关于c++ - 多线程暴力和递归多维循环。其他方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13281539/

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