我知道模数(%)运算符计算除法的余数.如何确定需要使用模数运算符的情况?
我知道我可以使用模数运算符来查看数字是偶数还是奇数和素数或复合数,但这就是它.我不经常考虑剩余的问题.我确定模数运算符很有用,我想学习利用它.
我只是在识别模数运算符适用的位置时遇到问题.在各种编程环境中,我很难看到问题并意识到"嘿!其余的部门会在这里工作!".
我正在开发一个N Queens程序,允许用户输入Queen配置作为String.例如,当提示时,用户可能输入Q ...... Q ..... Q..Q.当显示为板时,它看起来像:
Q . . .
. Q . .
. . . Q
. . Q .
Is not a solution!
Run Code Online (Sandbox Code Playgroud)
该程序很简单,因为它假定用户将输入有效信息.在我回去并添加错误处理之前,我想让程序的主要部分工作.
对于那些不熟悉N Queens拼图的人,基本上你在N x N板上有N皇后区.你每行有一个女王.如果没有两个皇后区共享相同的行,列或对角线,则填充板是一种解决方案.
我已经成功实现了对行和列的检查.但是,我很难过如何检查所有的对角线.我知道如何检查两个主要的对角线,比如在tic tac toe,但我真的无法想象我如何检查所有可能的对角线?
有人可以提供帮助吗?
这是我的代码:
import java.util.Scanner;
public class NQueens {
public static void main(String[] args) {
Scanner sc = new Scanner( System.in );
int qCount;
boolean solution = true;
System.out.println( "Enter the String to test:" );
board = sc.nextLine();
int boardLen = board.length();
int maxDim = (int) Math.sqrt(boardLen); …
Run Code Online (Sandbox Code Playgroud)