简单的算术表达式求值

信息学奥赛一本通:1397:简单算术表达式求值 【题目描述】两位正整数的简单算术运算(只考虑整数运算),算术运算为:+,加法运算;-,减法运算;*,乘法运算;/,整除运算;%,取余运算。算术表达式的格式为(运算符前后可能有空格):运算数 运算符 运算数请输出相应的结果。【输入】一行算术表达式。【输出】整型算数运算的结果(结果值不一定为2位数,可能多于2位或少于2位)。【输入样例】32+64【输出样例】96【参考程序一】定义了一个名为calc的函数,它接受两个整数a和b以及一个字符c作为参数,并根据c。 阅读详情

Dijkstra 双栈算数表达式求值法 

输入输出采用了 算法4 java库

package first_java;

import java.util.Stack;

import edu.princeton.cs.algs4.StdIn;
import edu.princeton.cs.algs4.StdOut;

public class Evaluate {
	public static void main(String[] args) {
		Stack<Double> vals = new Stack<Double>();
		Stack<String> ops = new Stack<String>();
		while(!StdIn.isEmpty()) {
			String str = StdIn.readString();
			if(str.equals("("));
			else if(str.equals("+"))
				ops.push(str);
			else if(str.equals("-"))
				ops.push(str);
			else if(str.equals("*"))
				ops.push(str);
			else if(str.equals("/"))
				ops.push(str);
			else if(str.equals("sqrt"))
				ops.push(str);
			else if(str.equals(")")) {
				double v = vals.pop();
				String op = ops.pop();
				if(op.equals("+")) {
					v = vals.pop() + v;
					vals.push(v);
				}
				else if(op.equals("-")) {
					v = vals.pop() - v;
					vals.push(v);
				}
				else if(op.equals("*")) {
					v = vals.pop() * v;
					vals.push(v);
				}
				else if(op.equals("/")) {
					v = vals.pop() / v;
					vals.push(v);
				}
				else if(op.equals("sqrt")) {
					v = Math.sqrt(v);
					vals.push(v);
				}
			}
			else vals.push(Double.parseDouble(str));

		}
		StdOut.println("The final anwser is :  " + vals.pop());
	}

}
  该方法存在的局限性很大
   1.运算符与数字之间需用空格隔开
   2.括号中最多只能有一次运算
   3.括号不能省
01:简单算术表达式求值 目录 链接 题目 代码 解析 链接 OpenJudge - 01:简单算术表达式求值 题目 01:简单算术表达式求值 总时间限制:1000ms 内存限制:65536kB 描述 两位正整数的简单算术运算(只考虑整数运算),算术运算为: +,加法运算; -,减法运算; *,乘法运算; /,整除运算; %,取余运算。 算术表达式的格式为(运算符前后可能有空格): 运算数 运算符 运算数 请输出相应的结果。 输入 一行算术表达式。 输出 整型算数运算的结果(结果值不一定为2... 阅读详情

相关推荐

2025趋势:经济学研究中AI多智能体系统的6大架构方向(AI应用架构师必藏)

多智能体系统(MAS)由多个相互作用的智能体组成,每个智能体具备自主决策能力、感知环境的能力和与其他智能体通信的能力。微观行为的精细化建模:智能体可被赋予异质的偏好函数、信息集和决策规则,模拟真实市场的多样性动态交互的涌现性分析:通过智能体间的局部互动(如交易、合作、竞争),观察宏观经济现象的涌现过程反事实政策实验:在虚拟环境中安全测试极端政策(如负利率、全民基本收入)的连锁反应实时自适应调整:智能体可通过机器学习持续优化策略,模拟经济系统的演化特性。

AI 领航者的博客 1425

洛谷B2130 简单算术表达式求值

洛谷B2130 简单算术表达式求值

旺旺的碎冰冰~的博客 418

5分钟搞定微服务架构图:手把手教你用Draw.io画出专业级设计

本文详细介绍了如何使用Draw.io快速绘制专业级微服务架构图。通过5分钟入门教程,掌握核心组件拖拽、连接线优化等技巧,提升系统设计可视化效率。特别适合需要快速呈现分布式系统架构的开发团队,利用内置微服务元素和分层展示功能,轻松创建清晰易懂的技术文档。

pz890123的博客 1243

NOI1.12 1-5题答案

C++noi

a1585686的博客 1448

YOLOv11涨点改进| Kimi团队 2026 |独家创新首发、注意力改进篇|爆火AttnRes残差自注意力模块,含多种创新改进,借助残差思想,缓解细节信息在传播过程中被稀释,促进YOLOv11涨点

🔥本文提出AttnRes残差自注意力模块,通过深度维度的注意力加权机制替代传统固定残差累加方式,使YOLOv11网络能自适应选择更有价值的历史层特征进行聚合。该方法缓解了浅层细节信息在深层传播过程中被稀释的问题,有效融合浅层纹理与深层语义特征,提升小目标、密集目标和复杂场景的检测能力。AttnRes还改善了深层网络的梯度分布与训练稳定性,增强模型收敛质量和泛化能力。实验表明,该模块能以较小计算开销显著提升YOLOv11的特征表达能力、检测精度和整体鲁棒性。文中详细介绍了模块结构、实现原理、优势特点

Ai缝合怪、助力小伙伴高效发论文 125

华为OD干了两个月,还是跑了

​本人工作了快13年,base南京。2024年2月份由于公司业务变动第一次拿到了公司发的大礼包,同时也面临着失业的问题,我对自己的技术还是很有信心的,但是,找了大概有一个多月时间,发现心意的工作的确不太好找,当然收到挺多家offer,就是薪资不太满意,外包也一直不想去,不过说实话外包给的薪资普遍要比自研的单位要高一些,最后为了钱还是进华为(既然选择外包那就选择好一些的吧),毕竟中年老男人工作不能断太久。

啊渊的专栏 1万+

简单算术表达式求值

01:简单算术表达式求值 描述 两位正整数的简单算术运算(只考虑整数运算),算术运算为:+,加法运算; -,减法运算; *,乘法运算; /,整除运算; %,取余运算。算术表达式的格式为(运算符前后可能有空格): 运算数 运算符 运算数请输出相应的结果。 输入 一行算术表达式。 输出 整型算数运算的结果(结果值不一定为2位数,可能多于2位或少于2位)。 样例输入 32+64 样例输出 96 代码 #include <iostream> #include <cstdio> using n

我爱编程 1786

YOLOv11来了,使用YOLOv11训练自己的数据集和推理(附YOLOv11网络结构图)

YOLOv11 由 Ultralytics 在 2024 年 9 月 30 日发布, 最新的 YOLOv11 模型在之前的 YOLO 版本引入了新功能和改进,以进一步提高性能和灵活性。YOLO11 在快速、准确且易于使用,使其成为各种对象检测和跟踪、实例分割、图像分类和姿态估计任务的绝佳选择。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 28万+

【信息学奥赛一本通】最简单的函数题-1397:简单算术表达式求值

题解

m0_71459256的博客 647

innovus:像ICC2一样设置placement label

ICC2有placement label/placement rule功能,能控制各种类型cell 之间的spacing规则,包括top和bottom edge的spacing。innovus也有相同的功能,以下示例方便大家了解用法。我们需要给所有OAI* cell之间设置一个spacing rule,让他们不要上下或者挨着。效果如下图,这个spacing指的是同一边的间距,不是cell间距。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 836

YOLOv8改进,MobileNetV3轻量化架构改进特征提取网络,助力涨点

MobileNetV3通过结合硬件感知网络架构搜索(NAS)和NetAdapt算法,通过新颖的架构改进进一步提升了性能。本文开始探讨了自动化搜索算法与网络设计如何协同工作,以利用互补方法来提升整体技术水平。通过这一过程,创建了两个新的MobileNet模型:MobileNetV3-Large和MobileNetV3-Small,分别针对高资源和低资源使用场景。这些模型随后被适配并应用于目标检测和语义分割任务。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 3835

简单算术表达式二叉树的构建和求值 (数据结构)

简单算术表达式二叉树的构建和求值 (数据结构) 文章目录简单算术表达式二叉树的构建和求值 (数据结构)题目要求思考过程二叉树的特点思路分析代码实现运算结果总结 题目要求 先用二叉树来表示一个简单算术表达式,树的每一个结点包括一个运算符或运算数。在简单算术表达式中只包含 加 减 乘 除 和一位正整数且格式正确(不包括括号),并且要按照先乘除后加减的原则构造二叉树,下图所示为 “1+2*3-4/5” 代数表达式对应的二叉树,然后由对应的二叉树计算该表达式的值。 先用二叉树来表示一个简单算术表达式,树的每一个结

Wu_yongtao的博客 2万+

Pytorch实用教程:super(MLP,self).__init__()和super().__init__()有什么区别?

在 Python 中,super()函数用于调用父类(超类)的方法。它的使用在继承关系中非常常见,特别是在初始化继承自父类的属性时。在 PyTorch 中,这通常见于初始化nn.Module类的子类。super()的两种调用方式有微妙的差别,但在 Python 3 中常常用来达到同样的目的。这种写法在 Python 2 中非常常见。这里,super()被调用时需要指定当前类名(MLP)和当前实例(self。

若北辰 1026

python 表达式求值_简单算术表达式求值

本文主要探讨简单的数学算术表达式求值算法的原理和实现。1. 约束本文只是探讨简单的算术表达式的求值算法,为了将主要精力放在算法思想的探讨和实现上,避免陷入对其他不是直接相关的细节的过多思考,所以提前做如下约束:本文所讨论的算术表达式字符串中每个运算数、运算符之间都有空白符分隔开(方便后面用python字符串的split函数分割处理成列表)。算术表达式中参与运算的运算数都为1位整数。表达式中的运算符...

weixin_39595164的博客 5113

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

1397:简单算术表达式求值

1397:简单算术表达式求值 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 5876 通过数: 4414 【题目描述】 两位正整数的简单算术运算(只考虑整数运算),算术运算为: +,加法运算; -,减法运算; *,乘法运算; /,整除运算; %,取余运算。 算术表达式的格式为(运算符前后可能有空格): 运算数 运算符 运算数 请输出相应的结果。 【输入...

Obey_bey_an的博客 1543

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

C++ | 简单算术表达式求值

只适用于简单算术表达式,包含:+-*/()

仅代表个人见解,有不足请指出 571

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

python算术表达式求值_$简单算术表达式求值

本文主要探讨简单的数学算术表达式求值算法的原理和实现。1. 约束本文只是探讨简单的算术表达式的求值算法,为了将主要精力放在算法思想的探讨和实现上,避免陷入对其他不是直接相关的细节的过多思考,所以提前做如下约束:本文所讨论的算术表达式字符串中每个运算数、运算符之间都有空白符分隔开(方便后面用python字符串的split函数分割处理成列表)。算术表达式中参与运算的运算数都为1位整数。表达式中的运算符...

weixin_39534121的博客 817

c++基础33简单算术表达式求值

c++基础32简单算术表达式求值

qq_37755459的博客 387

简单算术表达式二叉树的构建和求值

简单算术表达式二叉树的构建和求值 题目: 先用二叉树来表示一个简单算术表达式,树的每一个结点包括一个运算符或运算数。在简单算术表达式中只包含+、-、*、/和一位正整数且格式正确(不包括括号),并且要按照先乘除后加减的原则构造二叉树,图7.34所示为“1+2*3-4/5”代数表达式对应的二叉树,然后由对应的二叉树计算该表达式的值。 先在字符数组中定位**+和-**号作为根节点,以选中加减号为分隔在字符数组中分开左右子树,把左右子树的字符数组再调用BuildTree(),再找加减号做根节点。直到找不到加减号时

weixin_45706341的博客 5568

C++【简单算术表达式求值问题】看似简单实则复杂的题目

最近学了C++的函数,开始刷题,遇到第一个题,记录一下。

weixin_52248428的博客 470

1397:简单算术表达式求值(C C++)

【题目描述】 两位正整数的简单算术运算(只考虑整数运算),算术运算为: +,加法运算; -,减法运算; *,乘法运算; /,整除运算; %,取余运算。 算术表达式的格式为(运算符前后可能有空格): 运算数 运算符 运算数 请输出相应的结果。 【输入】 一行算术表达式。 【输出】 整型算数运算的结果(结果值不一定为2位数,可能多于2位或少于2位)。 【输入样例】 32+64 【输出样例】 96 【代码】 ...

ネロ・クラウディウス 2033

信息学奥赛一本通 1397:简单算术表达式求值 | OpenJudge NOI 1.12 01:简单算术表达式求值

【题目链接】 ybt 1397:简单算术表达式求值 【题目考点】 1. 函数 2. 选择结构 【解题思路】 这一章节都是练习函数,那么这里也是把求表达式的值的功能写为一个函数。 可以使用switch语句,可以使用if…else if语句 【题解代码】 解法1:使用switch语句 #include<bits/stdc++.h> using namespace std; int calc(int a, int b, char c)//返回数字a,b通过运算符c运算后得到的结果 { switch

君义NOIP的博客 4810
上一篇: Java 二维数组初始化
下一篇: java 学习 - 多态,构造函数。
what_wrong
博客等级 码龄9年 6粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值