YTU_3313: Barnicle(模拟)
3313: Barnicle
时间限制: 1 Sec 内存限制: 128 MB
提交: 28 解决: 4
[提交][状态][讨论版][命题人:acm4302]
题目描述
Barney站在酒吧里,主演一个漂亮的女孩。他想用丘比特之箭射击她,但他需要知道他和女孩之间的距离才能使他的射击准确。
Barney向酒吧招标Carl询问了这个距离值,但是Carl很忙于与客户交谈,所以他在餐巾纸上写下了距离值(这是一个实数)。问题是他用科学计数法写了它。某些实数x的科学符号是形式AeB的符号,其中A是实数,B是整数,x = A * 10^B。在我们的例子中,A在0到9之间,B是非负的。
Barney对科学计数法一无所知。因此他要求你告诉他通常的十进制表示中的距离值。请参阅输出格式以便更好地理解。
输入
一行字符串“a.deb“,a,d,b是三个整数,e是科学计数法的符号(0<=a<=9,0<=d<=10^100,0<=b<=100)
a,b不包含前导0,d不包含尾随0。
如果a为0,则b不能为非0。
输出
以十进制表示法在唯一的行中打印唯一的实数x(所需的距离值),整数不包含前导0,小数不包含尾随0。
如果x是一个整数,则打印它的整数值,不带小数部分和小数点,也不带前导零。
样例输入
8.549e2
样例输出
854.9
提示
1.0e2
100
#include<bits/stdc++.h>
using namespace std;
#define rep(i,j,k) for(int i=j;i<k;i++)
int main(void)
{int a;cin>>a;char pot;cin>>pot;string d; cin>>d;int ra=1;int b=0;int len = d.length();int st=d.length();for(int i=d.length()-1;i>=0;i--){if(d[i]=='e'){st=i;break;}int t= (d[i]-'0')*ra;b += t; //10^倍率ra*=10;}if(a!=0){cout<<a; //不为0直接输出if(st>=b) //小数串的长度足够先直接输出长度为b的串{rep(i,0,b) cout<<d[i];int flag=0; //检查加倍后的小数部分是否存在不为0的数rep(i,b,st) if(d[i]!='0') {flag=1;break;}if(flag) //存在则需要小数点+d串后面部分,不存在不做任何动作{cout<<pot;rep(i,b,st) cout<<d[i];}cout<<endl;}else //小数串的长度不足,由于a!=0先直接输出d串,不够的部分0填充{rep(i,0,st) cout<<d[i];rep(i,st,b) cout<<"0";cout<<endl;}}else //a==0的情况{int nb=b; //忽略d串前导0rep(i,0,b) if(d[i]!='0'){nb=i;cout<<d[i];break;}if(nb==b) cout<<"0";//全0情况只输出一个0if(st>=b){rep(i,nb+1,b) cout<<d[i]; //从新的非0位置开始输出满b个数! int flag=0;rep(i,b,st) if(d[i]!='0') {flag=1;break;} //同上if(flag){cout<<pot;rep(i,b,st) cout<<d[i];}cout<<endl;}else //当d串长度不能满足b个数的输出,1、要么输出0 2、要么输出无前导0的d串,不足的用0填充{int flag=0;rep(i,0,st)if(d[i]!='0'){cout<<d[i];flag=1;}if(!flag) cout<<"0";elserep(i,st,b) cout<<"0";cout<<endl;}}//a==0情况结束
}
附带java代码:
import java.util.Scanner;
import java.math.BigDecimal;
public class Main
{public static void main(String[] args){Scanner cin = new Scanner(System.in);String s = cin.next();BigDecimal a = new BigDecimal(s); System.out.print(a.stripTrailingZeros().toPlainString()); }
}
YTU_3313: Barnicle(模拟)相关推荐
- springboot实现SSE服务端主动向客户端推送数据,java服务端向客户端推送数据,kotlin模拟客户端向服务端推送数据
SSE服务端推送 服务器向浏览器推送信息,除了 WebSocket,还有一种方法:Server-Sent Events(以下简称 SSE).本文介绍它的用法. 在很多业务场景中,会涉及到服务端向客户端 ...
- curl模拟post请求
另外可尝试 postman工具 或者用request 直接请求 CURL 发送POST请求curl -header "Content-Type: application/json" ...
- flask_模拟请求post,get
#coding:utf-8 import requestsres = requests.post(url="http://192.168.135.105:8888/",data={ ...
- 模拟内存计算如何解决边缘人工智能推理的功耗挑战
模拟内存计算如何解决边缘人工智能推理的功耗挑战 How analog in-memory computing can solve power challenges of edge AI inferen ...
- 为放大器模拟输入模块提供可靠的输入过电压保护
为放大器模拟输入模块提供可靠的输入过电压保护 Signal Chain Basics #159: Provide robust input overvoltage protection for amp ...
- 模拟Servlet本质
JavaWeb系列教程,持续更新 JavaWeb-Servlet 模拟Servlet本质 使用IDEA开发Servlet程序 Servlet对象的生命周期 适配器(GenericServlet)改造S ...
- 2021年大数据Flink(四十):Flink模拟双十一实时大屏统计
目录 Flink模拟双十一实时大屏统计 需求 数据 编码步骤: 1.env 2.source 3.transformation 4.使用上面聚合的结果,实现业务需求: 5.execute 参考代码 实 ...
- Python:模拟登录、点击和执行 JavaScript 语句案例
案例一:网站模拟登录 # douban.pyfrom selenium import webdriver from selenium.webdriver.common.keys import Keys ...
- 杨老师课堂_Java核心技术下之控制台模拟文件管理器案例
背景需求介绍: 编写一个模拟文件管理器的程序,实现控制台对文件和文件夹的管理操作. 要求在此程序中: 当用户输入指令 1 时,代表"指定关键字检索文件",此时需要用户输入检索的目录 ...
- 模拟文件上传(一):手动文件上传
关于上传文件,首先我的第一个案例是一个文本文件的上传,简单容易上手! 首先我们上传文件肯定就属于实体内容部分了:所以不能过GET方式请求了,要通过POST方式请求: 因为: 1.get方式是URL传值 ...
最新文章
- 皮一皮:程序员为什么只能吃青春饭?
- Linux学习之用户管理和组管理
- CodeForces - 1373D Maximum Sum on Even Positions(最大连续子段和)
- [转]jkeyll的安装步骤
- oracle定时器在项目中的应用
- php mysql多表关联删除_MySQL中多表删除方法
- Fuschia 是什么样的一个操作系统
- shell脚本 空格
- POP3邮件客户端程序
- 5套精美的石器时代游戏官方网页源码
- 【STM32H7的DSP教程】第18章 DSP控制函数-更好用的SIN,COS计算
- 适合arduino小白入门的最基础的函数教程
- 三基色、三原色的区别
- DCT变换和DFT变换
- Python自动玩俄罗斯方块小游戏
- 一个新技术与传统产业开始越来越深入融合的发展新趋势
- win10无法安装完成若要在此计算机上,windows10无法完成安装怎么解决_win10提示windows无法完成安装的解决教程...
- 如何更换服务器的IP地址?
- k均值聚类(k-means)
- Windows Jenkins安装及配置
热门文章
- css+html工商银行小项目
- QT QDataEdit
- 【网络】广域网、局域网、城域网
- DICOM医学图像读取涉及到的医学坐标体系
- 苹果x人脸识别突然失灵_苹果官网维修进度显示下图“服务正在进行中”是代表诊断通过帮你维修手机了吗。...
- C++学习记录3:定义一个矩形类Rectangle
- 原来excel也能做职业数据分析(步骤完整且过程详细)
- Hyper-V安裝筆記
- steam无法连接至计算机,大神传授win7系统游戏无法连接至steam网络一直卡在“正在连接steam”界面的设置技巧...
- PowerVR 6系列架构分析