naturalnumberorderer.java
来自「Java版的SAT求解器」· Java 代码 · 共 25 行
JAVA
25 行
package positronic.satisfiability.naturalnumber;
import positronic.satisfiability.elements.BitFixer;
import positronic.satisfiability.elements.Conjunction;
import positronic.satisfiability.elements.IProblem;
import positronic.satisfiability.elements.Problem;
public class NaturalNumberOrderer extends Problem implements IProblem
{
private static final long serialVersionUID = 1L;
private static int nNOCount;
public NaturalNumberOrderer(INaturalNumber X, INaturalNumber Y) throws Exception
{
//X<=Y
//There exists Z such that Y=X+Z
INaturalNumber C=new NaturalNumber("NaturalNumberOrderer-"+ nNOCount++);
IProblem p1=new NaturalNumberAdder(X,new NaturalNumber("NaturalNumberOrderer-"+ nNOCount++),Y,C);
//Constrain overflow bit
IProblem p2=new BitFixer(C.getBooleanVariable(INaturalNumber.LENGTH-1),false);
this.setClauses(new Conjunction(p1,p2).getClauses());
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?