PAT乙级 1017大数除法

简介: PAT乙级 1017大数除法

1017 A除以B (20 分)

本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R成立。

 

这题特别的地方就在于A 的长度, A的长度可能到1000位,因此无法用基本数据类型表示A。

比较容易表示A的一种方法是把A看成字符串。但字符串无法直接和整数运算,只能模拟手工除法。

//大数(1000位)除法,使用字符串模拟手动除法
#include<iostream>
#include<string>
using namespace std;
int main()
{
  string A;   //被除数A
  int B, Q, tmp; //除数B,商Q,当前余数tmp
  cin >> A >> B;
  int len = A.length();
 
  Q = (A[0] - '0') / B;//第1位
  if ((Q != 0) || len == 1)
    cout << Q;
 
  tmp = (A[0] - '0') % B;  //当前余数
  //计算第2位至最后(1~len-1) 的商和余
  for (int i = 1; i < len; i++) {
    Q = ((A[i] - '0') + tmp * 10) / B;
    cout << Q;
    tmp = (tmp * 10 + A[i] - '0')%B;
  }
  cout <<" "<< tmp;
  return 0;
}

参考:https://www.liuchuo.net/archives/537

做了部分修改

相关文章
gitlab迁移后报错OpenL::cipher::CipherError
gitlab迁移后报错OpenL::cipher::CipherError
468 0
|
NoSQL Java 数据库
【SpringBoot】简述springboot项目启动数据加载内存中的三种方法
SpringBoot提供了两个接口: CommandLineRunner 和 ApplicationRunner 。实现其中接口,就可以在工程启动时将数据库中的数据加载到内存。使用的场景有:加载配置项到内存中;启动时将字典或白名单数据加载到内存(或缓存到Redis中)。
1293 0
|
7月前
|
Web App开发 IDE JavaScript
Selenium IDE下载安装保姆级教程(附安装包,非常详细)
Selenium IDE 是一款开源跨浏览器的Web自动化测试工具,支持“录制-回放”操作,无需编程即可实现UI级端到端测试。基于Electron开发,兼容主流浏览器,可导出多种语言脚本,轻松集成到持续集成流程中,适用于回归测试、兼容性验证等场景。
|
机器学习/深度学习 传感器 算法
数字图像处理实验(五)|图像复原{逆滤波和伪逆滤波、维纳滤波deconvwnr、大气湍流扰动模型、运动模糊处理fspecial}(附matlab实验代码和截图)
数字图像处理实验(五)|图像复原{逆滤波和伪逆滤波、维纳滤波deconvwnr、大气湍流扰动模型、运动模糊处理fspecial}(附matlab实验代码和截图)
2152 0
数字图像处理实验(五)|图像复原{逆滤波和伪逆滤波、维纳滤波deconvwnr、大气湍流扰动模型、运动模糊处理fspecial}(附matlab实验代码和截图)
|
8月前
|
数据采集 存储 监控
爬虫数据增量更新:时间戳对比策略实战指南
在数据驱动时代,增量爬虫是高效采集的关键。本文详解以时间戳为核心的增量更新策略,涵盖GitHub、电商等实战场景,提供Python代码示例与避坑指南,助你精准抓取新增数据,提升效率并规避反爬风险。
557 2
|
SQL Java 数据库连接
Mybatis架构原理和机制,图文详解版,超详细!
MyBatis 是 Java 生态中非常著名的一款 ORM 框架,在一线互联网大厂中应用广泛,Mybatis已经成为了一个必会框架。本文详细解析了MyBatis的架构原理与机制,帮助读者全面提升对MyBatis的理解和应用能力。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
Mybatis架构原理和机制,图文详解版,超详细!
|
10月前
|
JSON 前端开发 API
汽车配件:使用VIN码查询API精准匹配车型配件,提升用户信任
VIN码是汽车的唯一“身份证”,通过API可精准解析车型信息,实现配件99.5%以上匹配度。本文详解VIN码API的工作流程、技术实现与信任提升价值,助力汽配销售从经验判断迈向数据驱动,降低退货率,提升用户体验与复购。
1170 0
|
弹性计算 Ubuntu Shell
用1C1G ECS搭建《阿里云大模型高级工程师ACP认证》学习环境
阿里云推出了《[阿里云大模型高级工程师ACP认证》,配套的学习资料较系统性的梳理了提示词、RAG、Agent插件、微调等系列LLM相关知识。推荐大家学习。 该学习课程需要搭建学习环境,可以直接在ECS上构建该环境即可,所需的资源很少,1C1G20G系统盘最低配置即可,本文介绍了详细搭建过程。
|
存储 算法 Java
【算法系列篇】前缀和-1
【算法系列篇】前缀和-1
|
Web App开发 资源调度 网络协议
Linux系统之部署IP工具箱MyIP
【10月更文挑战第5天】使用Docker部署Radicale日历和联系人应用Linux系统之部署IP工具箱MyIP
991 1
Linux系统之部署IP工具箱MyIP