【00NOIP普及组】计算器的改良(信息学奥赛一本通 1910)(洛谷 1022)
【题目描述】
NCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一元一次方程的功能。实验室将这个任务交给了一个刚进入的新手ZL先生。为了很好的完成这个任务,ZL先生首先研究了一些一元一次方程的实例:
4+3x=8
6a-5+1=2-2a
-5+12Y=0
ZL先生被主管告之,在计算器上键入的一个一元一次方程中,只包含整数、小写字母 及十、一、=这三个数学符号(当然,符号“一”既可作减号,也可作负号)。方程中并没有括号,也没有除号,方程中的字母表示未知数。
【输入】
输入一个一元一次方程,可认为输入的一元一次方程均为合法的,且有唯一实数解。
【输出】
将解方程的结果(精确至小数点后三位)输出。
【输入样例】
6a-5+1=2-2a
【输出样例】
a=0.750
转载自:[NOIP2000] 提高组 洛谷P1022 计算器的改良 - SilverNebula - 博客园
https://www.cnblogs.com/SilverNebula/p/5954915.html
/*by SilverN*/
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
using namespace std;
int n,f;
int side;
int num;
char s[];
char tar;
int main(){
int x=,f=;
side=;
scanf("%s",s);
char ch;
int len=strlen(s);
s[len]='+';
for(int i=;i<=len;i++){
ch=s[i];
if( (ch<'' || ch>'' ) ){
if(ch<'a' || ch>'z'){
num+=-*x*f*side;
x=; f=;
}
}
if(ch>='a' && ch<='z'){
tar=ch;
if(!x)x=;x=x*f*side;
n+=x;
x=;f=;
continue;
}
if(ch>='' && ch<=''){
x=x*+ch-'';
continue;
}
if(ch=='='){side=-;continue;}//等号以后的项要变号
if(ch=='-'){f=-;continue;}
if(ch=='+'){f=;continue;}
}
double ans=(double)num/(double)n;
if(ans==-)ans=;
printf("%c=%.3f\n",tar,ans);
return ;
}
【00NOIP普及组】计算器的改良(信息学奥赛一本通 1910)(洛谷 1022)的更多相关文章
- 【03NOIP普及组】栈(信息学奥赛一本通 1924)(洛谷 1044)
#include<bits/stdc++.h> using namespace std; int n,ans,m,k,ans2; ],f[],d[][],num[][],tmp[],s[] ...
- 【04NOIP普及组】火星人(信息学奥赛一本通 1929)(洛谷 1088)
[题目描述] 人类终于登上了火星的土地并且见到了神秘的火星人.人类和火星人都无法理解对方的语言,但是我们的科学家发明了一种用数字交流的方法.这种交流方法是这样的,首先,火星人把一个非常大的数字告诉人类 ...
- 【06NOIP普及组】数列(信息学奥赛一本通 1937)(洛谷 1062)
[题目描述] 给定一个正整数k(3≤k≤15),把所有k的方幂及所有有限个互不相等的k的方幂之和构成一个递增的序列,例如,当k=3时,这个序列是: 1,3,4,9,10,12,13,… (该序列实际上 ...
- $ybt\ 【信息学奥赛一本通】题解目录$
[信息学奥赛一本通]题解目录 $ \large -> OJ$ $ problem1000 $ \(Answer\) - > $ \large 1000$ $ problem1001 $ \ ...
- 【00NOIP普及组】税收与补贴问题(信息学奥赛一本通 1911)( 洛谷 1023)
[题目描述] 每样商品的价格越低,其销量就会相应增大.现已知某种商品的成本及其在若干价位上的销量(产品不会低于成本销售),并假设相邻价位间销量的变化是线性的且在价格高于给 定的最高价位后,销量以某固定 ...
- 【03NOIP普及组】麦森数(信息学奥赛一本通 1925)(洛谷 1045)
[题目描述] 形如2P-1的素数称为麦森数,这时P一定也是个素数.但反过来不一定,即如果P是个素数,2P-1不一定也是素数.到1998年底,人们已找到了37个麦森数.最大的一个是P=3021377,它 ...
- 【18NOIP普及组】对称二叉树(信息学奥赛一本通 1981)(洛谷 5018)
[题目描述] 一棵有点权的有根树如果满足以下条件,则被轩轩称为对称二叉树: 1.二叉树: 2.将这棵树所有节点的左右子树交换,新树和原树对应位置的结构相同且点权相等. 下图中节点内的数字为权值,节点外 ...
- 【09NOIP提高组】Hankson 的趣味题(信息学奥赛一本通 1856)(洛谷 1072)
题目描述 Hanks 博士是BT (Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫Hankson.现在,刚刚放学回家的Hankson 正在思考一个有趣的问题.今天在课堂上,老师讲解了如何求 ...
- 【13NOIP提高组】转圈游戏(信息学奥赛一本通 1875)(洛谷 1965)
题目描述 nn 个小描述 n 个小伙伴(编号从 0 到 n-1)围坐一圈玩游戏.按照顺时针方向给 n 个位置编号,从0 到 n-1.最初,第 0 号小伙伴在第 0 号位置,第 1 号小伙伴在第 1 号 ...
随机推荐
- left join 左边有数据,右边无数据
参考了链接: https://blog.csdn.net/chenjianandiyi/article/details/52402011 主要是and和where的区别: 原Sql: Con ...
- swagger list Could not resolve reference because of: Could not resolve point
swagger list Could not resolve reference because of: Could not resolve point controller的参数要加 @Requ ...
- 2019 字节跳动java面试笔试题 (含面试题解析)
本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.字节跳动等公司offer,岗位是Java后端开发,因为发展原因最终选择去了字节跳动,入职一年时间了,也成为了面 ...
- JavaScript之控制表单元素的值
表单元素.value 获取表单元素的值 表单元素.value='这是修改后的值' 修改表单元素的值 案例: (1)html <input type="text" id=&qu ...
- JAVA基础之设置随机成语验证码
package com.oracle; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import ja ...
- INTERVAL 用法 mysql
原文:https://blog.csdn.net/sqlquan/article/details/82699237 做个例子描述吧,也许更易于理解. 准备: 1.建表 create table INT ...
- day 09作业 预科
作业 1.简述定义函数的三种方式. 定义函数的三种方式为空函数,有参函数和无参函数 2.简述函数的返回值. 如果函数没有返回值,会直接返回到None: 函数可以通过return返回出返回值: retu ...
- Redis:Linux安装与使用
Redis的存储结构:字符类型,散列类型,列表类型,集合类型,有序集合. Redis功能: 可以为每个key设置超时时间. 可以通过列表类型来实现分布式队列的操作. 支持发布订阅的消息模式. 为什么使 ...
- Zabbix Documentation 4.0
Zabbix Documentation 4.0 1 Create user account For all of the Zabbix daemon processes, an unprivileg ...
- ZMQ应用
一. ZeroMQ概述 ZeroMQ是一种基于消息队列的多线程网络库,其对套接字类型.连接处理.帧.甚至路由的底层细节进行抽象,提供跨越多种传输协议的套接字.ZeroMQ是网络通信中新的一层,介于应 ...