Magic.MagicProblems
Class MagicAbstract

java.lang.Object
  extended by Magic.MagicProblems.MagicAbstract
Direct Known Subclasses:
AntiMagicSquare, HeteroSquare, LatinSquare, MagicSequence, MagicSquare, OrthogonalSquare

public abstract class MagicAbstract
extends java.lang.Object


Constructor Summary
MagicAbstract()
           
 
Method Summary
 int f(int x)
           
 int fo(int i, int n)
           
 int fonc(int x, int n)
           
abstract  void init()
          Initialisation de la résolution.
 choco.integer.IntVar[] MatriceCarreToMatriceLine(choco.integer.IntVar[][] MatriceCarre, int n)
           
 int nonP(int i)
           
 int p(int i)
           
 int pair(int n)
           
abstract  void resolve()
          Résolution du problême.
 int somme(int x, int y)
           
 choco.integer.IntVar[] transforme(ProblemExt pb, choco.integer.IntVar[] t, int n, int pos)
           
 int unite(int n, int x)
           
 void verificationConstraintProperties()
          Vérifications des contraintes définissant le problême.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MagicAbstract

public MagicAbstract()
Method Detail

init

public abstract void init()
Initialisation de la résolution.


resolve

public abstract void resolve()
Résolution du problême.


verificationConstraintProperties

public void verificationConstraintProperties()
Vérifications des contraintes définissant le problême.


pair

public int pair(int n)
Parameters:
n - un entier.
Returns:
2 si pair 0 sinon.

fo

public int fo(int i,
              int n)
Parameters:
n - un entier.
i - un entier.
Returns:
le calcul 2*(n-1)-i.

unite

public int unite(int n,
                 int x)
Parameters:
n - un entier.
x - un entier.
Returns:
le chiffre des unités ou des dizaines de l'entier x.

somme

public int somme(int x,
                 int y)
Parameters:
x - un entier.
y - un entier.
Returns:
la somme allant de x à y.

transforme

public choco.integer.IntVar[] transforme(ProblemExt pb,
                                         choco.integer.IntVar[] t,
                                         int n,
                                         int pos)
Parameters:
pb - un problême.
t - un vecteur de variables.
n - la taille du vecteur.
pos - la position à eviter.
Returns:
la somme du vecteur de taille n sauf à l'élèment de position pos.

p

public int p(int i)
Parameters:
i - un entier.
Returns:
1 si i impair pair 1 sinon.

nonP

public int nonP(int i)
Parameters:
i - un entier.
Returns:
1 si i pair 0 sinon.

fonc

public int fonc(int x,
                int n)
Parameters:
x - un entier.
n - un entier.
Returns:
le calcul 2*x-n+1.

MatriceCarreToMatriceLine

public choco.integer.IntVar[] MatriceCarreToMatriceLine(choco.integer.IntVar[][] MatriceCarre,
                                                        int n)
Parameters:
MatriceCarre -
n -
Returns:
Fonction transformant une matrice n sur n en une matrice ligne n*n. Elle utilisée pour AllDifferent qui prend en paramètre une matrice ligne.

f

public int f(int x)
Parameters:
x - un entier.
Returns:
la somme des nombres paires allant de 4 à x.