当前位置: 首页 > news >正文

一本通1910:【00NOIP普及组】计算器的改良题解

今天是编程集训的第二天,也是我来到CSDN整整1年。感谢所有阅读过我的文章的人,谢谢。

今天的比赛难度略低于昨天,但这道题也卡了我好久。

进入正题

题目:

题目描述:

NCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一元一次方程的功能。实验室将这个任务交给了一个刚进入的新手ZL先生。为了很好的完成这个任务,ZL先生首先研究了一些一元一次方程的实例:

4+3x=8

6a-5+1=2-2a

-5+12y=0

ZL先生被主管告之,在计算器上键入的一个一元一次方程中,只包含整数、小写字母及+、-、=这三个数学符号(当然,符号“─”既可作减号,也可作负号)。方程中并没有括号,也没有除号,方程中的字母表示未知数。

你可假设对键入的方程的正确性的判断是由另一个程序员在做,或者说可认为键入的一元一次方程均为合法的,且有唯一实数解。

输入

编写程序,解输入的一元一次方程

输出

将解方程的结果(精确至小数点后三位)输出

样例:

输入:
6a-5+1=2-2a
输出:
a=0.750

思路

这道题可以看出来,不需要任何的算法,那就是一个大大大大大模拟,一堆细节需要注意,甚至还有个坑点:有个测试点应该输出0.000,但运算结果是-0.000,就很坑人。

由于没什么思路,直接上代码吧

代码

//主体代码
while(cin>>c) //不断输入
{if(c>='0' && c<='9') //是数字{cnt=cnt*10+c-'0';}if(c=='+') //运算{sum+=f*r*cnt;f=1,cnt=0;}if(c=='-')f表示下一个数应该+还是-,若是+则*1没有变化,若是-则*-1变成负数{sum+=f*r*cnt;f=-1,cnt=0;}if(c=='=') {sum+=r*f*cnt;r=-1,f=1;//r表示等号后的所有运算符会改变,所以都需要*-1cnt=0;}if(c>='a' && c<='z') //记录未知数{x=c;if(cnt) sumx+=f*r*cnt;else sumx+=f*r;cnt=0;}
}

完整代码

#include<algorithm>
#include<iostream>
#include<cstring>
#include<cmath>
#include<cstdio>
#include<stack>
#include<queue>
using namespace std;char c,x;
int sum,sumx;
int r=1,f=1,cnt;
double res;int main() 
{while(cin>>c) {if(c>='0' && c<='9') {cnt=cnt*10+c-'0';}if(c=='+') {sum+=f*r*cnt;f=1,cnt=0;}if(c=='-'){sum+=f*r*cnt;f=-1,cnt=0;}if(c=='=') {sum+=r*f*cnt;r=-1,f=1;cnt=0;}if(c>='a' && c<='z') {x=c;if(cnt) sumx+=f*r*cnt;else sumx+=f*r;cnt=0;}}sum+=f*r*cnt;res=-sum*1.0/sumx;if(res==0.0) res=0;printf("%c=%.3lf",x,res);return 0;
}

没登陆的复制链接

云剪贴板 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/paste/uudqs2q5也希望各位不论看谁的题解都能看完思路再看代码

相关文章:

一本通1910:【00NOIP普及组】计算器的改良题解

今天是编程集训的第二天&#xff0c;也是我来到CSDN整整1年。感谢所有阅读过我的文章的人&#xff0c;谢谢。 今天的比赛难度略低于昨天&#xff0c;但这道题也卡了我好久。 进入正题 题目&#xff1a; 题目描述&#xff1a; NCL是一家专门从事计算器改良与升级的实验室&a…...

golang网络编程学习-1rpc

网络编程主要的内容是&#xff1a; 1.TCP网络编程 2.http服务 3.rpc服务 4.websocket服务 一、rpc RPC 框架----- 远程过程调用协议RPC&#xff08;Remote Procedure Call Protocol)-----允许像调用本地服务一样调用远程服务。 RPC是指远程过程调用&#xff0c;也就是说两台服…...

【MQTT】Esp32数据上传采集:最新mqtt插件(支持掉线、真机调试错误等问题)

前言 这是我在Dcloud发布的插件-最完整Mqtt示例代码&#xff08;解决掉线、真机调试错误等问题&#xff09;&#xff0c;经过整改优化和替换Mqtt的js文件使一些市场上出现的问题得以解决&#xff0c;至于跨端出问题&#xff0c;可能原因有很多&#xff0c;例如&#xff0c;合法…...

基于PyQt5的UI界面开发——对基本控件的介绍

基本控件介绍 在PyQt中&#xff0c;控件是用户界面上的可见元素。控件可以包括按钮、标签、文本框、进度条等。每个控件都有自己的属性和方法&#xff0c;可以通过编程方式进行调整和操作。 以下是一些常用的PyQt控件&#xff1a; QLabel&#xff08;标签&#xff09;&#…...

flink 报错:Caused by: java.lang.RuntimeException: Assigned key must not be null!

问题描述 不同情况下需要找对应的解决方法&#xff0c;这里介绍的解决方法不能拓展到别的场景。 场景描述&#xff1a; flink job 的开发过程中遇到这样的需求&#xff0c;需要先 map 处理&#xff0c;然后把返回的 DataStream 作为输入&#xff0c;流入别的 map 中。这里我们遇…...

AN OVERVIEW OF LANGUAGE MODELS RECENT DEVELOPMENTS AND OUTLOOK

LLM系列相关文章&#xff0c;针对《AN OVERVIEW OF LANGUAGE MODELS: RECENT DEVELOPMENTS AND OUTLOOK》的翻译。 语言模型综述&#xff1a;近年来的发展与展望 摘要1 引言2 语言模型的类型2.1 结构化LM2.2 双向LM2.3 置换LM 3 语言单元3.1 字符3.2 单词和子单词3.2.1 基于统…...

ArcGIS、ENVI、InVEST、FRAGSTATS等多技术融合提升

专题一 空间数据获取与制图 1.1 软件安装与应用讲解 1.2 空间数据介绍 1.3海量空间数据下载 1.4 ArcGIS软件快速入门 1.5 Geodatabase地理数据库 专题二 ArcGIS专题地图制作 2.1专题地图制作规范 2.2 空间数据的准备与处理 2.3 空间数据可视化&#xff1a;地图符号与注…...

fastapi初使用,构建自己的api

文章目录 1、安装2、api实现2.1、 app.get("/1")2.2、app.get("/{a}")2.3、app.get("/{a}{b}")2.4、函数和api分离 3、运行 原文链接&#xff1a;https://wangguo.site/posts/d98bb3c9.html fastapi 是一个基于 Python 的 API 构建框架&#xff…...

Html基础知识学习——圣杯布局、margin负值、等高布局(十七)

文章目录 圣杯布局margin负值等高布局 圣杯布局 两边页面固定中间页面宽度随着浏览器大小自适应 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-widt…...

从一长串字符串中找出图片,查看是否符合md5要求

/**检查内容中的图片否含有外部链接*/ function checkExternalLinks(content){var pattern /<img[^>]src["]([^"])["][^>]*>/g;var match;var index 0;while ((match pattern.exec(content)) ! null) {var imageUrl match[1];var regex /\/sto…...

新手小白如何学好UI设计?一般学多久? 优漫动游

学习UI设计首先就是软件&#xff1a;PS、AI、CDR等但是掌握了软件不等于就掌握了UI设计&#xff0c;设计的思维也是很重要的网上很多关于UI设计的教程视频&#xff0c;可以多去看看 广州平面设计培训 要多久这个看个人的学习能力吧&#xff0c;有些人天资聪慧&#xff0c;很快…...

实现 Rollup 插件alias 并使用vitest提高开发效率

本篇文章是对 实现 Rollup 插件 alias | 使用 TypeScript 实现库的基本流程 | 使用单元测试提高开发效率 的总结。其中涉及到开发一个组件库的诸多知识点。 实现一个经常用的 rollup 插件 alias 首先执行npm init命令初始化一个package.json文件&#xff0c;因为插件使用了ty…...

【DSL】ES+DSL 查询语法

【DSL】ESDSL 查询语法 一、前言二、定义1.基本介绍2.语法说明&#xff08;1&#xff09;关键字(Keywords)&#xff08;2&#xff09;标识符(Identifiers)&#xff08;3&#xff09;表达式(Expressions)&#xff08;4&#xff09;运算符(Operators)&#xff08;5&#xff09;函…...

Vue第三篇:最简单的vue购物车示例

本文参考&#xff1a;Vue Cli&#xff08;脚手架&#xff09;实现购物车小案例 - - php中文网博客 效果图&#xff1a; 编写流程&#xff1a; 1、首先通过vue/cli创建工程 vue create totalprice 2、改写App.vue代码如下&#xff1a; <template><div><div v…...

MFC 基于数据库的管理系统

文章目录 初始化设置菜单 添加数据库类创建数据库配置数据库 全部代码 初始化 创建文件选择基于CListView 初始化数据 public:CListCtrl& m_list;CSQLView::CSQLView() noexcept:m_list(GetListCtrl()) {// TODO: 在此处添加构造代码}void CSQLView::OnInitialUpdate() {C…...

EfficientNet论文笔记

EfficientNet论文笔记 通过NAS平衡了channel&#xff0c;depth&#xff0c;resolution&#xff0c;发现在相同的FLOPs下&#xff0c;同时增加 depth和 resolution的效果最好。 数据集效果小于resolution怎么办&#xff1f; EfficientNet—b0框架 表格中每个MBConv后会跟一个…...

系统学习Linux-SSH远程服务(二)

概念 安全外壳协议&#xff0c;提供安全可靠的远程连接 特点 ssh是工作在传输层和应用层的协议 ssh提供了一组管理命令 ssh 远程登陆 scp 远程拷贝 sftp 远程上传下载 ssh-copy-id ssh keygen 生成 提供了多种身份验证机制 身份验证机制 密码验证 需要提供密码 密…...

PyTorch训练RNN, GRU, LSTM:手写数字识别

文章目录 pytorch 神经网络训练demoResult参考来源 pytorch 神经网络训练demo 数据集&#xff1a;MNIST 该数据集的内容是手写数字识别&#xff0c;其分为两部分&#xff0c;分别含有60000张训练图片和10000张测试图片 图片来源&#xff1a;https://tensornews.cn/mnist_intr…...

基于深度学习的高精度道路瑕疵检测系统(PyTorch+Pyside6+YOLOv5模型)

摘要&#xff1a;基于深度学习的高精度道路瑕疵&#xff08;裂纹&#xff08;Crack&#xff09;、检查井&#xff08;Manhole&#xff09;、网&#xff08;Net&#xff09;、裂纹块&#xff08;Patch-Crack&#xff09;、网块&#xff08;Patch-Net&#xff09;、坑洼块&#x…...

【裸辞转行】是告别,也是新的开始

一年多了没有更新&#xff0c;是因为去年身体加心理因素辞职了&#xff0c;并且大概率不会再做程序员了&#xff0c;嗯。本来觉得可能再也不会打开 CSDN 了&#xff0c;想了想&#xff0c;还是来做个告别吧&#xff0c;任何事情都该有始有终才对。 回忆碎碎念 是在去年的 11 …...

12分钟讲解主流React库

本内容是对 Every React Library Explained in 12 Minutes 内容的翻译与整理。 React Router React Router 是一个用于控制网站导航的库&#xff0c;同时也允许你自定义网站的 URL。它使用自定义组件&#xff0c;如 BrowserRouter、Routes 和 Route 组件&#xff0c;以创建 UR…...

基于机器学习的心脏病预测模型构建与可解释性分析

一、引言 心脏病是威胁人类健康的重要疾病之一&#xff0c;早期预测和诊断对防治心脏病具有重要意义。本文利用公开的心脏病数据集&#xff0c;通过机器学习算法构建预测模型&#xff0c;并使用 SHAP 值进行模型可解释性分析&#xff0c;旨在为心脏病的辅助诊断提供参考。 二、…...

pytorch基本运算-范数

引言 前序学习进程中&#xff0c;已经对pytorch基本运算有了详细探索&#xff0c;文章链接有&#xff1a; 基本运算 广播失效 乘除法和幂运算 hadamard积、点积和矩阵乘法 上述计算都是以pytorch张量为运算元素&#xff0c;这些张量基本上也集中在一维向量和二维矩阵&#x…...

Android 轻松实现 增强版灵活的 滑动式表格视图

表格视图组件&#xff0c;支持&#xff1a; 1. 无标题模式&#xff1a;只有数据行也可以正常滑动 2. 两种滑动模式&#xff1a;固定第一列 或 全部滑动 3. 全面的样式自定义能力 4. 智能列宽计算 1. 无标题模式支持 设置无标题&#xff1a;调用 setHeaderData(null) 或 …...

瀚文机械键盘固件开发详解:HWKeyboard.h文件解析与应用

【手把手教程】从零开始的机械键盘固件开发&#xff1a;HWKeyboard.h详解 前言 大家好&#xff0c;我是键盘DIY爱好者Despacito0o&#xff01;今天想和大家分享我开发的机械键盘固件核心头文件HWKeyboard.h的设计思路和技术要点。这个项目是我多年来对键盘固件研究的心血结晶…...

SQL 中 JOIN 的执行顺序优化指南

SQL 中 JOIN 的执行顺序优化指南 一、JOIN 执行顺序基础原理 在 SQL 查询中,JOIN的执行顺序是查询优化的重要环节。数据库引擎会根据多种因素决定最优的 JOIN 顺序: 逻辑执行顺序:SQL 语句的书写顺序(如 FROM → WHERE → GROUP BY)并不代表实际执行顺序物理执行顺序:由查…...

Monorepo架构: 项目管理工具介绍、需求分析与技术选型

概述 如何实现 monorepo&#xff0c;以及在项目中如何管理多个包&#xff0c;在进行具体项目开发前&#xff0c;有必要强调一个重要思维 — 全局观 即看待技术方案时&#xff0c;要从需求角度出发&#xff0c;综合考量该方案能否长远满足项目或团队需求 为什么要有全局观呢&a…...

“轻量应用服务器” vs. “云服务器CVM”:小白入门腾讯云,哪款“云机”更适合你?(场景、配置、价格对比解析)

更多云服务器知识&#xff0c;尽在hostol.com 当你第一次踏入腾讯云这个“数字百货大楼”&#xff0c;面对琳琅满目的“云产品”&#xff0c;是不是有点眼花缭乱&#xff0c;特别是看到“轻量应用服务器”和“云服务器CVM”这两位都号称能帮你“安家落户”的“云主机”时&…...

Vue框架2(vue搭建方式2:利用脚手架,ElementUI)

一.引入vue第二种搭建方式 在以前的前端项目中,一个项目需要多个html文件实现页面之前的切换,如果页面中需要依赖js或者css文件,那么我们就需要在多个html文件中都需要导入vue.js文件,太过繁琐. 现在前端开发都采用单页面结果,一个项目中只有一个html文件 其他不同的内容都写…...

Java 大视界 — Java 大数据在智能安防视频监控中的异常事件快速响应与处理机制

/*Java 大数据在智能安防视频监控中的异常事件快速响应与处理机制&#xff08;简化示例&#xff09;*/// 1. Event.java - 异常事件模型 package com.security.model;public class Event {private String id;private String type; // 如: "入侵", "火警"pr…...