一个数字只出现一次

One number appears only once?

本文关键字:一次 数字 一个      更新时间:2023-10-16

所以我一直在尝试写一个函数,为数独游戏生成数字。这就是它的样子。

我读到最后一行有点迷路了…我如何检查一个数字是否只出现在一行和一列中?

void generator (int row, int col){
    for (int i=0; i<9; i++){
        int randNum= (1+rand()%9);
        for (int j=0; j<i; j++){
            A[i][j]=randNum;
            //check if one number only appears once. 
        }
    }
}

你完全做错了。

您应该简单地根据规则填写数独,从1开始。

当你有一个有效的数独后,使用随机排列随机切换数字。

请注意,这是一个相当复杂的问题(如果您包括实际的数独生成,而不仅仅是填满的棋盘),您很可能低估了它。

我会将每个随机数加到一个向量中。然后,在生成每个数字之后,遍历vector的所有成员,检查是否存在一个已经存在的值。