Red de conocimiento informático - Aprendizaje de código fuente - Programación de columnas

Programación de columnas

Solución: Suponga que el entero positivo N se puede expresar como la suma de I enteros positivos consecutivos, y el primer número es X, entonces n = x * i (i-1) * i/2, donde N, X e I son todos números enteros positivos, entonces si X = (N-(I-1) * I/2)/. El rango de valores de I es 2n/2 2.

Respuesta de Python:

# !/usr/bin/env python

# -*-Codificación: utf-8 -*-

Definir alimento (sustantivo):

Para I en el rango (2, n/2 2):

Si ((n - (i-1)*i/2 ) i) == 0:

x = (n - (i-1)*i/2) / i

Imprimir "d="n,

Para j en el rango (I):

Imprimir x j,

Imprimir ' \n '

Roto

De lo contrario:

Imprimir "pendiente"

foo(3)

foo(5)

foo(8)

foo(10)

foo(28)

foo(37)

foo(66)

foo(88)

p>

foo(136)

foo(1024)

foo(5050)