
一、问题描述
题目解析
题目描述
向一个空栈中依次压入正整数。每当压入一个整数时,执行以下规则(设栈顶至栈底的整数依次编号为 n1, n2, …, nx
,其中 n1
为最新压入的整数):
- 规则一:如果
n1 = n2
,则 n1
和 n2
全部出栈,并压入新数据 m
(m = 2 * n1
)。
- 规则二:如果
n1 = n2 + n3 + … + ny
(y
的范围为 [3, x]
),则 n1, n2, …, ny
全部出栈,并压入新数据 m
(m = 2 * n1
)。
- 规则三:如果上述规则都不满足,则不做任何操作。
最终,输出栈中存留的元素值,元素值按栈顶至栈底的顺序输出,用单个空格隔开。
输入输