3 votos

¿Cómo puedo calcular la altura del número en este triángulo?

Dado este triángulo:
$$1$$ $$2,3$$ $$4,5,6$$ $$7,8,9,10$$ $$.............$$

Ahora, ¿cómo puedo calcular la altura del número de algún número en este triángulo? (A saber, ¿cómo puedo encontrar la fórmula para la altura de $n$ ?)

4voto

JSX Puntos 62

Para un valor determinado $n$ existen $h$ de tal manera que \begin {eqnarray*} \frac {h(h-1)}{2} < n \leq \frac {h(h+1)}{2}. \end {eqnarray*} Ahora trata a la mano derecha en la igualdad como una cuadrática en $h$ y resolver para conseguir \begin {eqnarray*} h = \left\lceil \frac {-1 + \sqrt {1+8n}}{2} \right\rceil. \end {eqnarray*}

0voto

asdf Puntos 26

La primera entrada en el $n$ -La última fila es $ \frac {n(n-1)}{2}+1$ y la última es $ \frac {n(n+1)}{2}$ así que para encontrar la fila del número $x$ tienes que encontrar $n$ de tal manera que

$$ \frac {n(n-1)}{2}+1 \leq x \leq \frac {n(n+1)}{2}$$

0voto

Rohan Puntos 11

Puntos:

  • Hay $n$ números en la fila $n$ .

  • El último número del $n^{ \text {th}}$ La fila es $ \dfrac {n(n+1)}{2}$ .

  • El primer número en el $n^{ \text {th}}$ La fila es $ \dfrac {n(n-1)}{2}+1$ .

Para calcular la fila en la que cualquier número $x$ mentiras, sólo comprueba el número triangular más cercano y más grande que él, y se encuentra en el número de fila $n$ correspondiente a ese número triangular.

0voto

gandalf61 Puntos 486

Para encontrar la fila que $n$ está encendido, doble $n$ tomar la raíz cuadrada y encontrar el entero más cercano.

0voto

MikeMathMan Puntos 159

Definir una función $h(m)$ recursivamente:

$h(1) = 1$

Deje que $h(m)$ se definan.

Si $m + 1 \le \dfrac {h(m)(h(m)+1)}{2}$ entonces $h(m+1) = h(m)$
más
$ \qquad \qquad \qquad \qquad \qquad \qquad \qquad \, h(m+1) = h(m) + 1$


Esto no proporciona una fórmula explícita, pero estoy bastante seguro de que unas pocas líneas de código en un lenguaje de programación (adecuado) servirá. Así que eso es tranquilizador.

Bien, aquí hay un código. Tengo algo de ayuda de los expertos en pitones; mira este desbordamiento de pila Q/A enlace . Note que este código también da la posición de la fila de cada número:

def daHB(m):
    if m == 1:
        return {'rowNum':1, 'posNum':1, 'TriNum':1}
    else:
        r = daHB(m-1)
        if m <= r['TriNum']:
            return {'rowNum':r['rowNum'], 'posNum':r['posNum'] + 1, 'TriNum':r['TriNum']}
        else:
            TriangularNum = (r['rowNum']+1)*(r['rowNum']+2)  // 2
            return {'rowNum':r['rowNum'] + 1,'posNum':1, 'TriNum':TriangularNum}

for n in range(1, 33):
    print (n, daHB(n))

SALIDA

1 {'rowNum': 1, 'posNum': 1, 'TriNum': 1}
2 {'rowNum': 2, 'posNum': 1, 'TriNum': 3}
3 {'rowNum': 2, 'posNum': 2, 'TriNum': 3}
4 {'rowNum': 3, 'posNum': 1, 'TriNum': 6}
5 {'rowNum': 3, 'posNum': 2, 'TriNum': 6}
6 {'rowNum': 3, 'posNum': 3, 'TriNum': 6}
7 {'rowNum': 4, 'posNum': 1, 'TriNum': 10}
8 {'rowNum': 4, 'posNum': 2, 'TriNum': 10}
9 {'rowNum': 4, 'posNum': 3, 'TriNum': 10}
10 {'rowNum': 4, 'posNum': 4, 'TriNum': 10}
11 {'rowNum': 5, 'posNum': 1, 'TriNum': 15}
12 {'rowNum': 5, 'posNum': 2, 'TriNum': 15}
13 {'rowNum': 5, 'posNum': 3, 'TriNum': 15}
14 {'rowNum': 5, 'posNum': 4, 'TriNum': 15}
15 {'rowNum': 5, 'posNum': 5, 'TriNum': 15}
16 {'rowNum': 6, 'posNum': 1, 'TriNum': 21}
17 {'rowNum': 6, 'posNum': 2, 'TriNum': 21}
18 {'rowNum': 6, 'posNum': 3, 'TriNum': 21}
19 {'rowNum': 6, 'posNum': 4, 'TriNum': 21}
20 {'rowNum': 6, 'posNum': 5, 'TriNum': 21}
21 {'rowNum': 6, 'posNum': 6, 'TriNum': 21}
22 {'rowNum': 7, 'posNum': 1, 'TriNum': 28}
23 {'rowNum': 7, 'posNum': 2, 'TriNum': 28}
24 {'rowNum': 7, 'posNum': 3, 'TriNum': 28}
25 {'rowNum': 7, 'posNum': 4, 'TriNum': 28}
26 {'rowNum': 7, 'posNum': 5, 'TriNum': 28}
27 {'rowNum': 7, 'posNum': 6, 'TriNum': 28}
28 {'rowNum': 7, 'posNum': 7, 'TriNum': 28}
29 {'rowNum': 8, 'posNum': 1, 'TriNum': 36}
30 {'rowNum': 8, 'posNum': 2, 'TriNum': 36}
31 {'rowNum': 8, 'posNum': 3, 'TriNum': 36}
32 {'rowNum': 8, 'posNum': 4, 'TriNum': 36}

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