Loading [MathJax]/extensions/TeX/mathchoice.js

3 votos

Problema de combinatoria en el conteo.

¿Cuántos enteros positivos n hay de tal manera que todo lo siguiente tenga lugar:

1) n tiene 1000 dígitos.

2) todos los dígitos son impares.

3) el valor absoluto de la diferencia de dos dígitos consecutivos (vecinos) es igual a 2.

Por favor ayuda. Ni siquiera sé cómo empezar.

3voto

qwertz Puntos 16

El texto era demasiado largo para un comentario y objetivos en la finalización de las anteriores respuestas y comentarios, que se reducen a una muy simple la respuesta final para n2: an={183n22,n even,143n32,n odd.

La manera más simple para demostrar (1) es contar directamente el número de maneras para los casos de n=2,3,4,5 obtener an=8,14,24,42, y, a continuación, proceder por inducción de la aplicación de la recurrencia de la relación sugerida por Mike Serio en la base del polinomio característico de la matriz introducida por Julian Mejia: an=4an23an4.

De hecho, la simplicidad de la respuesta sugiere que es posible que exista una manera más simple de demostrar (2) o incluso directamente a(1).

2voto

kontextify Puntos 21

Definir ni=2i1 (para un bijection entre 1,2,3,4,5 con 1,3,5,7,9). Considere la matriz de 5x5 A=(ai,j) con ai,j=1 si ni e nj difieren por 2 y ai,j=0 lo contrario. Entonces, el número de enteros positivos con "m" los dígitos de la satisfacción de sus propiedades es la suma de las entradas de Am1. Así que usted quiere encontrar la suma de las entradas de A999. No sé si esto es fácil de calcular, sin ordenadores.

Editar: Tenemos A=(0100010100010100010100010) Así, gracias a @Mike comentario, no debería ser difícil encontrar las entradas de A999 tenemos que A=PDP1 con

D=(1000000000001000003000003)

P=(1111110133010221013311111) Así, se puede calcular el A999=PD999P1 cuyas entradas serán una combinación lineal de (1)999,(1)999,(3)999,(3)999.

1voto

mathnoob Puntos 425

Aquí hay un programa OCaml que calcula el número de números en términos del tamaño del número:

 type 'a stream= Eos| StrCons of 'a * (unit-> 'a stream)


let hdStr (s: 'a stream) : 'a =
  match s with
  | Eos -> failwith "headless stream"
  | StrCons (x,_) -> x;;

let tlStr (s : 'a stream) : 'a stream =
  match s with
  | Eos -> failwith "empty stream"
  | StrCons (x, t) -> t ();;    



let rec listify (s : 'a stream) (n: int) : 'a list =
  if n <= 0 then []
  else
    match s with
    | Eos -> []
    | _ -> (hdStr s) :: listify (tlStr s) (n - 1);;

let rec howmanynumber start step=
  if step = 0 then 1 else
    match start with
    |1->howmanynumber 3 (step-1)
    |3->howmanynumber 1 (step-1) + howmanynumber 5 (step-1)
    |5->howmanynumber 3 (step-1) + howmanynumber 7 (step-1)
    |7->howmanynumber 5 (step-1) + howmanynumber 9 (step-1)
    |9->howmanynumber 7 (step-1) 
    |_->failwith "exception error"



let count n=
  (howmanynumber 1 n)+(howmanynumber 3 n)+(howmanynumber 5 n)+(howmanynumber 7 n)+(howmanynumber 9 n)

let rec thisseq  n = StrCons(count n , fun ()-> thisseq (n+1))

let result = thisseq 1
 

Entonces, según la solución de @Julian, la respuesta es la suma de las entradas de

[0100010100010100010100010]999[11111]

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