华为od 上机考试 - 堆栈中的剩余数字 (2025 B卷 200分)

堆栈中的剩余数字

华为OD机试真题目录: 点击去查看

2025 B卷 200分题型

题目描述

向一个空栈中依次存入正整数,假设入栈元素 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,所以两个 6 全部出栈,存入 12,最终栈中只剩一个元素 12。

输入描述

使用单个空格隔开的正整数的字符串,如”5 6 7 8″, 左边的数字先入栈

你可能感兴趣的:(华为OD机试真题刷题笔记,华为od,华为OD2025B卷,华为OD机试2025B卷,华为OD机考2025B卷,华为OD机试)