Wyobraź sobie kostkę, którą możemy pokroić na mniejsze kostki bez pozostawiania kawałków.
Sprawdź, ile kostek można wyciąć.
Na przykład, sześcian można pokroić na 8, 27 (oczywiście 3 potęgi liczb całkowitych) i 20 (19 małych kostek plus jeden osiem razy większy od pozostałych, patrz zdjęcie).
Zobacz tutaj pomoc: http://mathworld.wolfram.com/CubeDissection.html
Program powinien przyjąć jako liczbę całkowitą wejściową n( 0 <= n <= 1 000) i wypisać wszystkie liczby mniejsze lub równe, aby nsześcian mógł zostać pocięty na tę liczbę kostek. Załóżmy, że kostkę można pokroić na 1 kostkę, a nie na 0 kostek.
Można używać tylko integralnych typów danych (bez tablic, obiektów itp.) O rozmiarze nie większym niż 64-bitowy. Najkrótszy kod wygrywa.