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(模拟)相关推荐

  1. springboot实现SSE服务端主动向客户端推送数据,java服务端向客户端推送数据,kotlin模拟客户端向服务端推送数据

    SSE服务端推送 服务器向浏览器推送信息,除了 WebSocket,还有一种方法:Server-Sent Events(以下简称 SSE).本文介绍它的用法. 在很多业务场景中,会涉及到服务端向客户端 ...

  2. curl模拟post请求

    另外可尝试 postman工具 或者用request 直接请求 CURL 发送POST请求curl -header "Content-Type: application/json" ...

  3. flask_模拟请求post,get

    #coding:utf-8 import requestsres = requests.post(url="http://192.168.135.105:8888/",data={ ...

  4. 模拟内存计算如何解决边缘人工智能推理的功耗挑战

    模拟内存计算如何解决边缘人工智能推理的功耗挑战 How analog in-memory computing can solve power challenges of edge AI inferen ...

  5. 为放大器模拟输入模块提供可靠的输入过电压保护

    为放大器模拟输入模块提供可靠的输入过电压保护 Signal Chain Basics #159: Provide robust input overvoltage protection for amp ...

  6. 模拟Servlet本质

    JavaWeb系列教程,持续更新 JavaWeb-Servlet 模拟Servlet本质 使用IDEA开发Servlet程序 Servlet对象的生命周期 适配器(GenericServlet)改造S ...

  7. 2021年大数据Flink(四十):​​​​​​​Flink模拟双十一实时大屏统计

    目录 Flink模拟双十一实时大屏统计 需求 数据 编码步骤: 1.env 2.source 3.transformation 4.使用上面聚合的结果,实现业务需求: 5.execute 参考代码 实 ...

  8. Python:模拟登录、点击和执行 JavaScript 语句案例

    案例一:网站模拟登录 # douban.pyfrom selenium import webdriver from selenium.webdriver.common.keys import Keys ...

  9. 杨老师课堂_Java核心技术下之控制台模拟文件管理器案例

    背景需求介绍: 编写一个模拟文件管理器的程序,实现控制台对文件和文件夹的管理操作. 要求在此程序中: 当用户输入指令 1 时,代表"指定关键字检索文件",此时需要用户输入检索的目录 ...

  10. 模拟文件上传(一):手动文件上传

    关于上传文件,首先我的第一个案例是一个文本文件的上传,简单容易上手! 首先我们上传文件肯定就属于实体内容部分了:所以不能过GET方式请求了,要通过POST方式请求: 因为: 1.get方式是URL传值 ...

最新文章

  1. 皮一皮:程序员为什么只能吃青春饭?
  2. Linux学习之用户管理和组管理
  3. CodeForces - 1373D Maximum Sum on Even Positions(最大连续子段和)
  4. [转]jkeyll的安装步骤
  5. oracle定时器在项目中的应用
  6. php mysql多表关联删除_MySQL中多表删除方法
  7. Fuschia 是什么样的一个操作系统
  8. shell脚本 空格
  9. POP3邮件客户端程序
  10. 5套精美的石器时代游戏官方网页源码
  11. 【STM32H7的DSP教程】第18章 DSP控制函数-更好用的SIN,COS计算
  12. 适合arduino小白入门的最基础的函数教程
  13. 三基色、三原色的区别
  14. DCT变换和DFT变换
  15. Python自动玩俄罗斯方块小游戏
  16. 一个新技术与传统产业开始越来越深入融合的发展新趋势
  17. win10无法安装完成若要在此计算机上,windows10无法完成安装怎么解决_win10提示windows无法完成安装的解决教程...
  18. 如何更换服务器的IP地址?
  19. k均值聚类(k-means)
  20. Windows Jenkins安装及配置

热门文章

  1. css+html工商银行小项目
  2. QT QDataEdit
  3. 【网络】广域网、局域网、城域网
  4. DICOM医学图像读取涉及到的医学坐标体系
  5. 苹果x人脸识别突然失灵_苹果官网维修进度显示下图“服务正在进行中”是代表诊断通过帮你维修手机了吗。...
  6. C++学习记录3:定义一个矩形类Rectangle
  7. 原来excel也能做职业数据分析(步骤完整且过程详细)
  8. Hyper-V安裝筆記
  9. steam无法连接至计算机,大神传授win7系统游戏无法连接至steam网络一直卡在“正在连接steam”界面的设置技巧...
  10. PowerVR 6系列架构分析