向一个空栈中依次存入正整数
假设入栈元素 N(1 <= N <= 2^31-1)
按顺序依次为 Nx ... N4、N3、N2、N1
,
当元素入栈时,如果 N1=N2+...Ny
(y的范围[2,x],1 <= x <= 1000)
则 N1
到 Ny
全部元素出栈,重新入栈新元素 M(M=2*N1)
如依次向栈存储 6、1、2、3
,当存储 6、1、2
时
栈底至栈顶以此为 [6、1、2]
:当存入 3
时,3=2+1
,
3、2、1
全部出栈,重新入栈元素 6
,(6=2*3)
此时栈中有元素 6
因为 6=6
,所有两个六全部出栈存入 12
最终栈中只剩一个元素 12
华为OD机试(Python)真题目录汇总