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)