30 votos

¿Es (a / b) /c igual a a/(b*c) para la división de enteros?

Deje ÷÷ denotar un operador binario que devuelve la parte entera del cociente de dos números enteros, es decir, (suponiendo que los números enteros son positivos) a÷b=aba÷b=ab. Esto corresponde a la división de enteros operador en muchos lenguajes de programación (por ejemplo, el // operador en Python).

He observado que, cuando aa, bb y cc son enteros positivos, los valores de (a÷b)÷c(a÷b)÷c a÷(b×c)a÷(b×c) son iguales.

He tratado de encontrar un contra-ejemplo mediante el siguiente código en Python, pero no fue capaz de encontrar uno:

from random import randint

while True:

    a = randint(1, 10000000000)
    b = randint(1, 10000)
    c = randint(1, 10000)

    lhs = a//b
    lhs = lhs//c

    rhs = a//(b *c)

    if lhs != rhs:
        print a, b, c
        break

Podría alguien por favor proporcione un contraejemplo si la afirmación que he hecho no es cierto o que una prueba que demuestra que es siempre verdadera?

Información Adicional:

  1. Por favor, tenga en cuenta que todos los de la división de los operadores utilizados anteriormente corresponden a la división de enteros.
  2. La versión de Python es 2.7.12.
  3. Hice esta pregunta en StackOverflow y se sugirió que no, que me pregunte aquí.
  4. Yo no era capaz de encontrar una etiqueta que dice entero de la división, así que yo no lo uso y sugerencias son bienvenidos.

48voto

Shabaz Puntos 403

Escriba a=qb+ra=qb+r, 0r<b0r<b, que a÷b=qa÷b=q.

A continuación, escriba q=sc+tq=sc+t, 0t<c0t<c, que (a÷b)÷c=s(a÷b)÷c=s.

Ahora tenemos a=b(sc+t)+r=bcs+bt+ra=b(sc+t)+r=bcs+bt+r. Como bt+rb(c1)+(b1)=bcb+b1=bc1,bt+rb(c1)+(b1)=bcb+b1=bc1, we have a # \div (AC) =a # \div (AC) =s.

4voto

user21820 Puntos 11547

Es un poco más fácil hacer lo que Ross.

Que q,rq,r ser enteros tales que a=b·c·q+ra=bcq+r y 0r<b·c0r<bc. Entonces r÷br/b<cr÷br/b<c.

Entonces (a÷b)÷c=(c·q+(r÷b))÷c=q+(r÷b)÷c=q=a÷(b·c)(a÷b)÷c=(cq+(r÷b))÷c=q+(r÷b)÷c=q=a÷(bc).

(Simplemente dos veces utilizamos el hecho fácil que (d·x+y)÷d=x+y÷d(dx+y)÷d=x+y÷d % enteros x,y,dx,y,dcon d>0d>0.)

2voto

Drew Puntos 161

Otra forma de pensar acerca de esto es que dicen que usted tiene NN dulces que desea distribuir entre abab niños. ¿Cuál es el máximo número de caramelos que un niño puede conseguir, dado que distribuya los dulces igualmente.

La respuesta es NabNab

Tenga en cuenta que usted puede dividir el abab de los niños en aa de las clases. Dado que cada estudiante obtiene un número igual de dulces, cada clase también se obtiene un número igual de dulces, que es NaNa. Ahora, para cada clase, de distribuir estos muchos caramelos entre los bb de los niños, de modo que cada niño recibe

Nab⎢ ⎢ ⎢ ⎢Nab⎥ ⎥ ⎥ ⎥

Por lo tanto,

Nab=Nab⎢ ⎢ ⎢ ⎢Nab⎥ ⎥ ⎥ ⎥=Nab


Yo no demostrar que podemos dar a NaNa caramelos a cada clase y asegurarse de que cada alumno obtendrá el número óptimo de caramelos. Esto puede ser demostrado fácilmente. Digamos que cada clase se YY dulces en la solución óptima. Entonces, tenemos:

SN\implicaYNaSN\implicaYNa

De ahí que podamos dar a cada clase de NaNa dulces para una óptima distribución.

Tenga en cuenta que cada clase puede también rechazar algunos caramelos.

1voto

DanielV Puntos 11606

a\b\c=da\b\c=d x.  a\b=x    x\c=dx.  a\b=x    x\c=d x.  xb[ab+1a]    cd[xc+1x]x.  xb[ab+1a]    cd[xc+1x] x.  xb[ab+1a]    bcd[xbbc+bxb]x.  xb[ab+1a]    bcd[xbbc+bxb] x.  xb[ab+1a]    bcd[(ab+1)bc+ba]x.  xb[ab+1a]    bcd[(ab+1)bc+ba] bcd[abc+1a]bcd[abc+1a] a\(bc)=da\(bc)=d

1voto

M. Winter Puntos 1070

Esto parece funcionar siempre, porque es tautología matemática no una evidente aunque. Vamos a denotar la división entera ÷÷ y decir que tenemos (a÷b)÷c=s(a÷b)÷c=s. Esto significa que

a÷b=sc+rca=(sc+rc)b+rb=sbc+rcb+rbR

donde rc{0,...,c1} y rb{0,...,b1} indican que el resto después de la división de c y b respectivamente. Por lo tanto tenemos

R=rcb+rbb(c1)+b1=bcb+b1=bc1<bc.

Esto es suficiente para concluir que

a÷(bc)=(sbc+R)÷(bc)=s

desde R es a pequeño para marcar la diferencia después de la división.

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