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

PAT-Are They Equal (25)

题目来源

Are They Equal (25)

注意点
题目其实很多每说清楚,见下文吧

思路简介

把两个数输入为字符串,转换为标准形式生成一个字符串,然后比较
如果完全相同那就是YES,否则NO

接下来就是如何标准化一个输入的字符串

首先,注意输入的数包括三种形式

  • 大于1的数:0000001xxxx.xxxx
  • 小于1的数:000000.00001xxxxxxxxx
  • 0:0000.0000

不难发现,对于大于1的数要右移,幂大于0,小于1的数左移,幂小于0

模拟时肯定要先去掉前导零
如果遍历完了还没遍历到有效位,那么就说明数为0

等到遍历到有效数之后,就可以开始添加有效位了,注意添加不到N位的情况,此时要再开个循环补0

之后就开始移位,其实左移和右移是一样的,都要定位小数点和第一个有效位
有效位-小数点位就是移动的次数即幂,但是左移会把小数点移动到有效位的前一位,所以左移次数的绝对值还要减去1(其实就是直接加1因为左移幂为负数)

遇到的问题

  1. 一部分也是样例描述的不是很清楚,基本把所有坑都踩了一遍
  2. 一开始以为只有0,0.1xxxx,1xxx.xxx,后面知道有0.000,0.0001xxx,1xxx.xxx
  3. 最后才知道还有0000.000,000.001xxx,00001xxxx.xxxx
  4. 知道输入的形式之后其实就比较简单了

代码

/** * https://www.nowcoder.com/pat/5/problem/4113 * 模拟 */#include<bits/stdc++.h>usingnamespacestd;stringstandard(string s,intn){intlen=s.size(),cnt=0,active=0;string res="0.";for(inti=0;cnt<n&&i<len;++i){if(s[i]!='0'&&s[i]!='.')active=1;if(!active||s[i]=='.')continue;res+=s[i],cnt++;}for(inti=cnt;i<n;++i)res+='0';intk=0,l=0;if(active){//非0while(k<len&&(s[k]=='.'||s[k]=='0'))k++;//定位有效数while(l<len&&s[l]!='.')l++;//定位小数点k=l-k;if(k<0)k++;}res+="*10^";res+=to_string(k);returnres;}voidsolve(){intn;cin>>n;string a,b;cin>>a>>b;string sa=standard(a,n),sb=standard(b,n);if(sa!=sb)cout<<"NO "<<sa<<' '<<sb;elsecout<<"YES "<<sa;}intmain(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);fstreamin("in.txt",ios::in);cin.rdbuf(in.rdbuf());intT=1;//cin>>T;while(T--){solve();}return0;}
http://www.jsqmd.com/news/508862/

相关文章:

  • 西门子博途1500双驱同步,伺服同步运行程序,3轴码垛博途程序,scl项目,同步轴走PN工艺对象
  • Springboot项目配置文件分解
  • 我的第一个Markmap
  • DeepSeek-OCR-2应用场景:文档数字化与票据处理全解析
  • Qwen-Image+RTX4090D企业级案例:本地化部署保障数据安全的金融票据识别系统
  • FRCRN(16k单麦)效果惊艳:深夜城市环境录音中提取清晰夜间播报
  • 【MCP 实战】在 VS Code 中快速配置与测试 MongoDB MCP 服务
  • Qwen2.5-7B-Instruct应用指南:长文创作、代码编写,专业级AI助手实战
  • Flux Sea Studio 海景摄影生成工具:Python安装多版本管理与虚拟环境隔离
  • Z-Image-Turbo-rinaiqiao-huiyewunv开源大模型实践:本地化部署降本增效完整指南
  • GTE+SeqGPT轻量化优势展示:560M模型在消费级GPU上实现<800ms端到端响应
  • 如何用Cartography实现优雅的iOS空状态布局:Swift Auto Layout终极指南
  • labelme使用注意事项
  • Ostrakon-VL-8B多模态实战:图文联合推理识别‘冰柜未关严’并预估能耗损失
  • VMware虚拟机调整分辨率,自定义分辨率(centos 及 ubuntu均适用)
  • pnpm install 报错 ERR_PNPM_ENOENT?5 种实测有效的解决方案(附详细步骤)
  • GLM-4.7-Flash快速部署:解决Web界面无响应和超时问题
  • 5个高效处理技巧:用XMLView解决XML文档阅读难题
  • Qwen-Ranker Pro在电商搜索中的应用:解决‘相关性偏差’实战
  • 乙巳马年皇城大门春联生成终端W快速上手:JavaScript前端交互实现
  • 如何快速搭建PHP异步WebSocket服务器:Ratchet完整指南
  • SOONet与MySQL数据库联动:海量视频片段元数据管理方案
  • 2026年 工业烘房设备厂家实力推荐榜:恒温/大型/食品/药材/燃气烘房,烘箱与汽车配件/化妆品盒/渔具/石墨烯烘箱专业解决方案深度解析 - 品牌企业推荐师(官方)
  • OFA图像英文描述系统实操手册:错误码解析(400/404/500)与故障定位指南
  • SeqGPT-560M部署实战教程:双路RTX 4090上毫秒级NER零幻觉抽取
  • 模型评价参数--F1分数
  • Windows下MMCV与PyTorch版本冲突全解析:从报错诊断到精准安装
  • AnythingtoRealCharacters2511部署教程:阿里云ECS GPU实例一键部署脚本分享
  • 基于遗传算法的配电网优化配置探索
  • Qwen3-32B-Chat百度技术生态位:填补‘消费级显卡+大模型‘部署方案的市场空白