Red de conocimiento informático - Conocimiento informático - Para esta pregunta sobre el invariante en la cola del Blue Bridge Cup Cube, utilicé un programa java para hacerlo. El resultado correcto debería ser 36. ¿Por qué el resultado que escribí fue 12, como por ejemplo?

Para esta pregunta sobre el invariante en la cola del Blue Bridge Cup Cube, utilicé un programa java para hacerlo. El resultado correcto debería ser 36. ¿Por qué el resultado que escribí fue 12, como por ejemplo?

public static void main(String[] args)?{

int suma = 0;

for(int i = 1; i lt; = 10000; i )?{

¿Cadena? ?(long)?i?*?i?*?i;//?Convertir a cadena

if(n.endWith(""?"?? ? i ))?{//?Determinar si el final de la cadena es yo mismo

suma;

}

}

Sistema .out.println(sum);

}

Estás en un bucle de 1-10-100-1000-1001-1001-1002-.... -10000, se recomienda establecer un punto de interrupción, depurar y ver el proceso.

Ya que se debe cambiar a public?static?void?main(String[]?args)?{

int?i,? suma?=?0;

for(i?=?1;?i?lt;=?9;?i )?{

si (Math.pow(i, ?3)??10?==?i)?{

System.out.println(i);

suma;

}

}

¿para?(i?=?10;?i?lt;=?99;?i )?{

si (Math.pow(i, ?3)??100?==?i)?{

System.out.println(i);

suma;

}

}

¿para?(i?=?100;?i?lt;=?999;?i)?{

si (Math.pow(i, ?3)??1000?==?i)?{

System.out.println(i);

suma;

}

}

¿para?(i?=?1000;?i?lt;=?9999;?i)?{

si (Math.pow(i, ?3)??10000?==?i)?{

System.out.println(i);

suma;

}

}

System.out.println();

System.out.println(suma);

}

Si no usa Math.pow(i, 3), use i*i*i en su lugar

El resultado predeterminado es int, el rango de int es ±2.1 mil millones, 1000^3 es mil millones y long está fuera de rango, por lo que solo hay 3