13 votos

Sub-sumas conjuntas de números enteros

Fijar números enteros $x_1,y_1,\ldots,x_{10},y_{10}\in [-2,2]$ tal que $$ \sum x_i=\sum y_i=0\,. $$

Entonces, ¿existe necesariamente un subconjunto propio no vacío $J$ de $\{1,\ldots,10\}$ tal que $$ \sum_{j \in J} x_j=\sum_{j \in J} y_j=0\,? $$

9voto

Praytic Puntos 49

Encontré miles de contraejemplos usando un código java que voy a dar al final (espero que el código sea verdadero porque sólo fue fuerza bruta) un contraejemplo:

[2, 2, -1, -2, 1, -2, -2, 2, -2, 2]

[2, 2, -2, -1, -2, -1, -1, 2, -1, 2]

que se puede ver fácilmente (elegí este como el más fácil) Porque dos secuencias tienen 4 2's comunes, y por cada -1 de la segunda secuencia hay -2 en la primera secuencia con los índices correspondientes

Así que, creo que ves lo mismo que yo :)

otros contraejemplos:

[-2, 2, 0, -1, 0, 2, -2, 0, -1, 2]

[2, -1, 1, -2, 1, -1, 2, 1, -2, -1]

//////////////

[2, -2, -2, 1, -2, -2, 2, -1, 2, 2]

[-2, 1, 1, -2, 1, 1, 2, -2, 2, -2]

Y aquí está el código con mucha fuerza bruta:

Es un poco desordenado pero puedes arreglar la sangría si quieres ejecutar el código

importar java.util. ; importar java.io. ;

public class números {

public static void main(String[] args) {
    ArrayList<int[]> myList = new ArrayList<int[]>() ;
    Random gen= new Random();
    while (myList.size()<90045){
        int[] arr = new int[10];
        boolean itsdone = false ;
        for (int i=0; i<10 ; i++){
            arr[i]=gen.nextInt(5)-2;
        }
        while (myList.contains(arr) || (summ(arr)!=0) ){
            for (int i=0; i<10 ; i++){
                arr[i]=gen.nextInt(5)-2;
            }
        }
        if (!myList.contains(arr) && summ(arr)==0 )
            myList.add(arr);
            System.out.println(myList.size());
    }
    for (int i=0 ; i<myList.size();i++){
        for (int j=i; j<myList.size();j++)
            compareArr(myList.get(i),myList.get(j));
    }    

} `public static int summ(int[] arr) {

    int summ=0;
    for (int i=0; i<arr.length ; i++)
        summ+=arr[i];   
    return summ;`

}

public static boolean compareArr(int[] arr1,int[] arr2){ for (int i=0; i<10 ; i++){ if (arr1[i]==0 && arr2[i]==0) devuelve true; for (int j=i+1; j<10 ; j++){ if ((arr1[i]+arr1[j]==0) && (arr2[i]+arr2[j])==0) devuelve true; for (int k=j+1; k<10 ; k++){ if ((arr1[i]+arr1[j]+arr1[k]==0) && (arr2[i]+arr2[j]+arr2[k])==0) devuelve true; for (int t=k+1; t<10 ; t++){ if ((arr1[i]+arr1[j]+arr1[k]+arr1[t]==0) && (arr2[i]+arr2[j]+arr2[k]+arr2[t])==0) devuelve true; for (int m=t+1; m<10 ; m++){ if ((arr1[i]+arr1[j]+arr1[k]+arr1[t]+arr1[m]==0) && (arr2[i]+arr2[j]+arr2[k]+arr2[t]+arr2[m])==0) devuelve true; for (int n=m+1; n<10 ; n++){ if ((arr1[i]+arr1[j]+arr1[k]+arr1[t]+arr1[m]+arr1[n]==0) && (arr2[i]+arr2[j]+arr2[k]+arr2[t]+arr2[m]+arr2[n])==0) devuelve true; for (int a=n+1; a<10 ; a++){ if ((arr1[i]+arr1[j]+arr1[k]+arr1[t]+arr1[m]+arr1[n]+arr1[a]==0) && (arr2[i]+arr2[j]+arr2[k]+arr2[t]+arr2[m]+arr2[n]+arr2[a])==0) devuelve true; for (int b=a+1; b<10 ; b++){ if ((arr1[i]+arr1[j]+arr1[k]+arr1[t]+arr1[m]+arr1[n]+arr1[a]+arr1[b]==0) && (arr2[i]+arr2[j]+arr2[k]+arr2[t]+arr2[m]+arr2[n]+arr2[a]+arr2[b])==0) devuelve true; for (int c=b+1; c<10 ; c++){ if ((arr1[i]+arr1[j]+arr1[k]+arr1[t]+arr1[m]+arr1[n]+arr1[a]+arr1[b]+arr1[c]==0) && (arr2[i]+arr2[j]+arr2[k]+arr2[t]+arr2[m]+arr2[n]+arr2[a]+arr2[b]+arr2[c])==0) devuelve verdadero;

                }   */
                }
                }
                }
                }
                }   
                }
                }
            }
        }
        System.out.println(Arrays.toString(arr1));
        System.out.println(Arrays.toString(arr2));
        System.out.println("--------------");
        return false;

   } 
}

(Añadido por PL) Ejemplos de conteo para $x_1,y_1,\ldots,x_{11},y_{11}$ (ver comentarios más abajo):

[0, -2, -2, -2, -2, 1, 2, 1, 1, 2, 1] [-2, -1, -1, -1, -1, 2, -1, 2, 2, -1, 2]

[0, 1, -2, -2, 0, 2, -2, -2, 1, 2, 2] [1, -2, -1, -1, 1, 2, -1, -1, -2, 2, 2]

[1, -1, -2, -1, -2, 2, -1, 2, 1, -1, 2] [0, 2, -1, 2, -1, -2, 2, -2, 0, 2, -2]

Ejemplos de conteo para $x_1,y_1,\ldots,x_{12},y_{12}$ :

[2, 2, 2, 2, -1, -2, -1, 2, -2, -2, 0, -2] [-1, -1, -1, -1, -2, 2, -2, -1, 2, 2, 1, 2] [-2, -1, 2, -2, -1, 2, -1, 2, -1, -1, 1, 2] [1, -2, 2, 1, -2, 2, -2, 2, -2, -2, 0, 2]

Ejemplos de conteo para $x_1,y_1,\ldots,x_{13},y_{13}$ :

[-2, -2, 2, 2, -1, 2, -1, -1, -1, 2, -1, 2, -1] [1, 1, 2, 2, -2, 2, -2, -2, -2, 2, -2, 2, -2]

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X