#32. Addition Chains
Addition Chains
题目描述
一个与 有关的整数加成序列 满足以下四个条件:
对于每一个 都存在有两个整数 和 和 可以相等 ,使得
你的任务是:给定一个整数 ,找出符合上述四个条件的长度最小的整数加成序列。如果有多个满足要求的答案,只需要输出任意一个解即可。
举个例子,序列 和 均为 时的解。
输入格式
输入包含多组数据。每组数据仅一行包含一个整数 。在最后一组数据之后是一个 。
输出格式
对于每组数据,输出一行所求的整数加成序列,每个整数之间以空格隔开。
样例 #1
样例输入 #1
5
7
12
15
77
0
样例输出 #1
1 2 4 5
1 2 4 6 7
1 2 4 8 12
1 2 4 5 10 15
1 2 4 8 9 17 34 68 77