AcWing 794. 高精度除法
2024-10-08 10:27:57
https://www.acwing.com/problem/content/796/
#include<bits/stdc++.h>
using namespace std;
// A/b 商是c 余数是r
vector<int> div(vector<int> &A, int b,int &r) //r是引用
{
vector<int>C; //商
r=;//余数
for(int i=A.size()-;i>=;i--) //除法是从最高位开始
{
r=r*+A[i]; //把各位留出,再加上这一位的各位
C.push_back(r/b); //商 是这一位整除b
r%=b; //余数
}
reverse(C.begin(),C.end()); //因为最开始push的是c的最高位,和我们前面定义的大整数存法是反过来的
//前面定义的大整数乘法是c【0】在最低位,是反过来的。所以要reverse一遍
while(C.size()>&&C.back()==) C.pop_back(); //商可能存在前导0
return C;
}
int main()
{
string a; //a很长,数位多 b很小,数位少
int b;
cin>>a>>b;
vector<int>A;
for(int i=a.size()-;i>=;i--) A.push_back(a[i]-'');
int r;//余数
auto C=div(A,b,r);
for(int i=C.size()-;i>=;i--) cout<<C[i]; //输出商
cout<<endl;
cout<<r<<endl; //输出余数
return ;
}
最新文章
- 各种开源Android 系统定制
- 使用 Sticky-Kit 实现基于 jQuery 的元素固定效果
- 清除webBrowser 缓存和Cookie的解决方案
- Fluent NHibernate and Mysql,SQLite,PostgreSQL
- LibreOffice源码编译以及生成VS项目
- Mysql慢日志查询
- 摘记:IIS长时间任务超时处理
- 亲测有效!一种完美动态阈值白平衡算法 Java实现。
- 经典CSS坑:如何完美实现垂直水平居中?
- poj1664放苹果(递归)
- ASP.NET MVC之视图传参到控制器的几种形式
- BZOJ1515 : [POI2006]Lis-The Postman
- GDAL源码编译(32位)
- LA 2218 Triathlon(半平面交)
- 使用kubernetes的deployment进行RollingUpdate
- UI基础:UI中类的继承关系图,最基本的视图分析
- es6 字符串String的扩展
- MySQL添加数据库的唯一索引的几种方式~
- centos安装rvm报错@curl -L get.rvm.io | bash -s stable fails on cent OS
- Java8 Lambda表达式实战之方法引用(一)
热门文章
- 从Windows10中彻底删除【3D对象】文件夹
- css样式的兼容性
- Sublime text3 最新版破解,永久有效
- 【已解决】redis-py-cluster安装成功但导入失败,提示cannot import name b
- 详解 CUDA By Example 中的 Julia Set 绘制GPU优化
- C++11智能指针(unique_ptr、shared_ptr、weak_ptr)(转)
- C# 串口关闭时主界面卡死原因分析
- http协议的POST传数据
- gulp 对js\css进行md5 加密
- CSS的文本样式