首先感谢阅读。我正在尝试制作一个“noob”程序,我想使用注册码。 为了完成我的加密算法,我需要生成仅包含0到9之间的数字的所有4x4矩阵,如下例所示:
4 4 6 8
5 2 4 3
8 5 2 9
2 7 2 6
我知道这些组合中有很多但它不会阻止我。我试着用“for”来做这件事,但我无法弄明白。
答案 0 :(得分:1)
我将4x4数字矩阵存储为char [16],将前四个字符解释为第一行,将接下来的四个字符解释为第二行等。您可以通过递归轻松生成所有可能的值,并使用{ {1}}在每个级别循环。
for
您可以通过以下方式使用它:
void print_all_possible_matrices(char *matrix, int level) {
if(level == 16) {
print_matrix(matrix);
}
for(int i = 0; i < 10; ++i) {
matrix[level] = i;
print_all_possible_matrices(matrix, level + 1);
}
}
但这需要很长时间才能完成。