1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| public class Ensemble {
int n; //n valeurs ds cet eensemble
int []tab; //tableau pour ranger ses valeurs
Ensemble (int []t){
n=t.length;
tab=new int[n];
for (int i=0;i<n;i++){ tab[i]=t[i];}
}
//afficher un ensemble
void afficher(){
for (int i=0;i<n;i++){
System.out.print(tab[i]+"");
}
System.out.println();
}
int get(int i){
return tab[i];
}
void set(int i, int val){
tab[i]=val;
}
boolean estAcceptable(){ //un ensemble est-il acceptable?
boolean []dif=new boolean[puiss(2,n)];
for (int i=0;i<puiss(2,n);i++){dif[i]=false;} //initialisation
for (int nb=0;nb<puiss(2,n);nb++){
int som=0; //initialisation
int[]b=binaire(nb); //traduction en binaire de nb
for (int k=0;k<0;k++){
som += b[k]*tab[k]; //faire la somme
}
dif [som]=true;
}
return tousdifferents (dif);
}
boolean tousdifferents (boolean[]tab){
for (int i=0;i<tab.length;i++){
if(!tab[i]){return false;}
}
return true;
}
} |
Partager