向一个空栈中依次存入正整数,假设入栈元素 n(1<=n<=231−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,所以两个 6 全部出栈,存入 12,最终栈中只剩一个元素 12。
扫码备注加群即可,期待您的到来~