Description
Consider the set of all non-negative integer powers of 3.
S = { 1, 3, 9, 27, 81, ... }
Consider the sequence of all subsets of S ordered by the value of the sum of their elements. The question is simple: find the set at the n-th position in the sequence and print it in increasing order of its elements.
S = { 1, 3, 9, 27, 81, ... }
Consider the sequence of all subsets of S ordered by the value of the sum of their elements. The question is simple: find the set at the n-th position in the sequence and print it in increasing order of its elements.
Input
Each line of input contains a number n, which is a positive integer with no more than 19 digits. The last line of input contains 0 and it should not be processed.
Output
For each line of input, output a single line displaying the n-th set as described above, in the format used in the sample output.
Sample Input
1 7 14 783 1125900981634049 0
Sample Output
{ } { 3, 9 } { 1, 9, 27 } { 3, 9, 27, 6561, 19683 } { 59049, 3486784401, 205891132094649, 717897987691852588770249 }
KEY:第i大的子集包含的元素和i-1二进制取1位的序号对应(第一个是空集,所以-1)(原因:增大i的时候,对应的二进制为总是从影响小的改变,即改变最低的一个0到1
还有这题涉及高精度的问题....没了