Red de conocimientos turísticos - Información de alquiler - Un número entero positivo se puede representar como la suma de n(ngt;=2) enteros positivos consecutivos

Un número entero positivo se puede representar como la suma de n(ngt;=2) enteros positivos consecutivos

Un número entero positivo puede expresarse como la suma de n (ngt; = 2) enteros positivos consecutivos, como por ejemplo:

15=1 2 3 4 5

15=4 5 6

15=7 8

Escriba un programa para encontrar todas las secuencias de enteros positivos consecutivos que cumplan con este requisito en función de cualquier entrada de enteros positivos.

Considerando la secuencia aritmética, podemos juzgar aproximadamente la longitud de la secuencia y luego obtener el valor. El resultado aún se puede calcular rápidamente si la longitud del número entero de entrada está dentro de los 7 dígitos, pero cuando. La longitud es 9, parece que se congelará. Debería haber un mejor algoritmo para la longitud durante la operación, como el algoritmo para mover el control deslizante de una cadena, pero no puedo entender cómo hacerlo de inmediato. utilice únicamente este tipo de bucle.

Resultado de cadena privada (entrada UInt64)

{

Resultado de cadena = String.Empty

for (UInt32 i = 2; i lt; = (UInt32) System .Math.Sqrt(Entrada * 2); i )

{

if ((Entrada / i) lt ; = (i - 1) / 2)

continuar;

cambiar (i2)

{

caso 0:

if (((float)(Entrada i) /(float)i)==0.5)

resultado = resultado i '*'

else

romper;

continuar;

caso 1:

if ((Entrada i) == 0)

resultado = resultado i '*';

else

romper

continuar

}

}

if(String.IsNullOrEmpty(resultado) )

return "No hay un entero coincidente";

UInt32[] temp = Array.ConvertAlllt; String, UInt32gt; (resultado.Trim('*').Split('* '), nuevo convertidor lt; String, UInt32 gt; (Conver)); > foreach (UInt32 j en t

emp)

{

for (UInt32 k = 0; k lt; j; k )

{

resultado = resultado ( ((float)Entrada / (float)j) - (((float)(j - 1)) / 2.0) k).ToString() " ";

}

resultado = resultado System.Environment.NewLine;

}

devolver resultado

}

Conver UInt32 estático público (valor de cadena)

{

return Convert.ToUInt32(Value);

}