PAT甲级1060 Are They Equal:[C++题解]字符串处理、有效数字、代码简洁!!!

本文主要是介绍PAT甲级1060 Are They Equal:[C++题解]字符串处理、有效数字、代码简洁!!!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 题目分析
    • 题目链接

题目分析

在这里插入图片描述
来源:acwing

分析:字符串处理

题意:把一个数变成0.xxxxx * 10^xxxxx 的形式(小数点后面第一个是大于零的数,除非输入的数本来就是0),位数的话超过的话从前往后截取(不是四舍五入),不足的后面补零。表示方法类似科学计数法。
思路:

  • 用字符串string存数字。
  • 找到小数点的位置k,用来求计数法中的指数
  • 字符串中删掉小数点,用变量k来计量次幂
  • 去掉前导零,过程中k会k--.这一步需要对照样例来理解,k就是最后要求的次幂!!!
  • 位数:不足n的后面补零,使用+string(n-s.size(),'0');超过n位的截取,使用substr函数。
  • 添头加尾:"0."+ s + "*10^" + to_string(k);

ac代码

测试数据

输入:2 0.000001 0.1
标答:NO 0.10*10^-5 0.10*10^0
#include<bits/stdc++.h>
using namespace std;string change(string a, int n){int k = a.find("."); //找小数点if(k == -1) a +=".",k =a.find(".");//去掉小数点string s = a.substr(0,k) + a.substr(k+1);//去掉前导零,小数点的位置也要变while(s.size() && s[0]=='0') s =s.substr(1),k--;if(s.empty()) k =0;//超过n位截断if(s.size() > n ) s =s.substr(0,n);//不足n位补足0else s+= string(n-s.size(),'0');return "0."+ s + "*10^" + to_string(k);}
int main(){int n;string a, b;cin >> n >> a >> b;a= change(a ,n);b =change(b, n);if(a == b )cout<< "YES "<<a <<endl;else cout<< "NO "<< a <<" " << b<<endl;}

在这里插入图片描述

题目链接

PAT甲级1060 Are They Equal
https://www.acwing.com/problem/content/1548/

这篇关于PAT甲级1060 Are They Equal:[C++题解]字符串处理、有效数字、代码简洁!!!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/465818

相关文章

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

Python实现批量CSV转Excel的高性能处理方案

《Python实现批量CSV转Excel的高性能处理方案》在日常办公中,我们经常需要将CSV格式的数据转换为Excel文件,本文将介绍一个基于Python的高性能解决方案,感兴趣的小伙伴可以跟随小编一... 目录一、场景需求二、技术方案三、核心代码四、批量处理方案五、性能优化六、使用示例完整代码七、小结一、

Python中 try / except / else / finally 异常处理方法详解

《Python中try/except/else/finally异常处理方法详解》:本文主要介绍Python中try/except/else/finally异常处理方法的相关资料,涵... 目录1. 基本结构2. 各部分的作用tryexceptelsefinally3. 执行流程总结4. 常见用法(1)多个e

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

Redis实现高效内存管理的示例代码

《Redis实现高效内存管理的示例代码》Redis内存管理是其核心功能之一,为了高效地利用内存,Redis采用了多种技术和策略,如优化的数据结构、内存分配策略、内存回收、数据压缩等,下面就来详细的介绍... 目录1. 内存分配策略jemalloc 的使用2. 数据压缩和编码ziplist示例代码3. 优化的

Python自动化处理PDF文档的操作完整指南

《Python自动化处理PDF文档的操作完整指南》在办公自动化中,PDF文档处理是一项常见需求,本文将介绍如何使用Python实现PDF文档的自动化处理,感兴趣的小伙伴可以跟随小编一起学习一下... 目录使用pymupdf读写PDF文件基本概念安装pymupdf提取文本内容提取图像添加水印使用pdfplum