4 votos

Sumas de índices de salto

Si tuviéramos un segmento de código como este:

int sum = 0;
for(int j = 1; j <= n; j++){
    for(int k = 1; k <= j; k++){
        sum += k;
return sum;

entonces podríamos convertirlo en notación sumatoria para evaluarlo:

$$\sum_{j=1}^n \sum_{k=1}^j k = \frac 16 n (n + 1) (n + 2)$$ que es trivial de calcular.

Sin embargo, ¿qué pasa si tenemos algo así? (aquí $j$ et $k$ aumentar en un número entero más que $1$ )

int sum = 0;
for(int j = 1; j <= n; j += 3){
    for(int k = 1; k <= j; k += 2){
        sum += k;
return sum;

Con estas "sumas saltantes", ¿es posible convertirlas en una notación de suma? He considerado poner, por ejemplo, $j$ en la forma $1+3x$ et $k$ en la forma $1+2u$ pero entonces hay que resolver manualmente cada uno de los límites del índice, lo que no es lo suficientemente puro para mí (y no estoy convencido de que tal enfoque funcione, de todos modos).

¿Existe una teoría desarrollada sobre cómo enfocar esas sumas? Me parece que debería haber una forma fácil de convertirlas en sumas típicas, pero no estoy seguro de cómo hacerlo.

1 votos

Sí, es posible. Una pista podría ser pensar en derivadas e integrales (si has hecho algo de cálculo).

0 votos

He hecho algo de cálculo, pero no estoy del todo seguro de cómo se aplica aquí. ¿Podría explicarlo un poco más?

0 votos

No sé cómo explicarlo bien. Tal vez pueda formularlo mejor más adelante.

2voto

ajotatxe Puntos 26274

Toma el código

int sum = 0;
for (int j=1; j<=n; j += t){
    sum += f(j);
}
return sum;

para alguna función

float f(int);

La salida de este código sería

$$f(1)+f(1+t)+\cdots+f(1+st)=\sum_{j=0}^{s}f\big(jt+1\big)$$

donde $s=\max\{\sigma\in\Bbb Z:1+\sigma t\le n\}$ . Entonces $s=\max\{\sigma\in\Bbb Z:\sigma\le (n-1)/t\}=\lfloor (n-1)/t\rfloor$ .

Aplicando esto a su código, obtenemos

$$\sum_{j=0}^{\lfloor (n-1)/3\rfloor}\sum_{k=0}^{\lfloor 3j/2\rfloor}(2k+1)=\sum_{j=0}^{\lfloor (n-1)/3\rfloor}(\lfloor 3j/2\rfloor+1)^2$$

Esto es $$S-T$$ donde $$S=1^2+2^2+\cdots+(a+1)^2,$$ $$T=3^2+6^2+\cdots+(3b)^2$$ donde $a$ es la mitad, redondeada hacia abajo, del mayor múltiplo de $3$ estrictamente menos de $n$ et $3b$ es el mayor múltiplo de $3$ no mayor que $a+1$ .

0 votos

¿Por qué no tenemos $\lfloor (j-1)/2 \rfloor$ como límite superior de la suma interna? Además, ¿cómo has llegado a la $S - T$ ¿parte? No veo cómo se deduce.

1voto

Shabaz Puntos 403

Su nueva versión se puede escribir $$\sum_{j=1}^{\lfloor \frac n3\rfloor} \sum_{k=1}^{\lfloor\frac j2\rfloor}(2k-1)=\sum_{j=1}^{\lfloor\frac n3\rfloor}\left \lfloor\frac j2\right \rfloor^2$$ que puedes sumar de la misma manera.

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