高精度计算_vector
#include<bits/stdc++.h>
using namespace std;
// return a+b;
vector<int> add(vector<int>&a,vector<int>&b){
reverse(a.begin(),a.end());
reverse(b.begin(),b.end());
vector<int> c;
int t=0;
for(int i=0; i<a.size()||i<b.size(); i++){
if(i<a.size()) t+=a[i];
if(i<b.size()) t+=b[i];
c.push_back(t%10), t/=10;
}
if(t) c.push_back(1);
reverse(c.begin(),c.end());
return c;
}
// return a-b;
vector<int> sub(vector<int>&a,vector<int>&b){
reverse(a.begin(),a.end());
reverse(b.begin(),b.end());
vector<int> c; int t=0;
for(int i=0; i<a.size(); i++){
t = a[i]-t;
if(i<b.size()) t-=b[i];
c.push_back((t+10)%10);
if(t<0) t=1; else t=0;
}
while(c.size()>1 && c.back()==0) c.pop_back();
reverse(c.begin(),c.end());
return c;
}
// return a>=b;
bool cmp(vector<int>&a,vector<int>&b){
if(a.size()!=b.size()) return a.size()>b.size();
for(int i=0; i<a.size(); i++){
if(a[i]!=b[i]) return a[i]>b[i];
}
return 1;
}
// return a*b;
vector<int> mul(vector<int>&a,int&b){
reverse(a.begin(),a.end());
vector<int> c; int t=0;
for(int i=0; i<a.size()||t; i++){
if(i<a.size()) t += a[i]*b;
c.push_back(t%10);
t/=10;
}
while(c.size()>1 && c.back()==0) c.pop_back();
reverse(c.begin(),c.end());
return c;
}
// return a/b, r=a%b
vector<int> div(vector<int>&a,int&b,int &r){
vector<int> c; r=0;
for(int i=0; i<a.size(); i++){
r = r*10+a[i];
c.push_back(r/b);
r %= b;
}
reverse(c.begin(),c.end());
while(c.size()>1 &&c.back()==0) c.pop_back();
reverse(c.begin(),c.end());
return c;
}
int main(){
string a; int b; cin>>a>>b;
vector<int> va,vb,vc;
for(int i=0; i<a.size(); i++) va.push_back(a[i]-'0');
int r;
vc=div(va,b,r);
for(auto u:vc) cout<<u; cout<<endl<<r;
}
高精度计算_vector的更多相关文章
- php-浮点数计算,double类型数加减乘除必须用PHP提供的高精度计算函数
一.前方有坑 php在使用加减乘除等运算符计算浮点数的时候,经常会出现意想不到的结果,特别是关于财务数据方面的计算,给不少工程师惹了很多的麻烦.比如今天工作终于到的一个案例: $a = 2586; $ ...
- 使用高精度计算斐波那契数列 c++
使用高精度计算斐波那契数列 非高精度 Code(Non-high accuracy) 这是不用高精度的代码 #include<bits/stdc++.h> using namespace ...
- cb15a_c++_vector容器的自增长_每次增加百分之50
cb15a_c++_vector容器的自增长_每次增加百分之50每次自动容量代销扩充,增加百分之50_for windows C++,vector是用数组做出来的->数组的缺点和优点优点:具有下 ...
- 1169A+B问题终结版(高精度计算)
描述 给定两个整数A和B,输出A+B的值.A和B的值可能会很大很大,甚至达到100位.现在请你解决这一问题. 输入 两行,分别是两个整数A,B,换行隔开.A和B会很大很大. 输出 一个整数,即A+B的 ...
- C++_系列自学课程_第_5_课_vector容器_《C++ Primer 第四版》
再一次遇到 vector 这个单词; 每一次见到这个单词都感觉这个单词非常的 "高大上"; 数字遇到vector马上就可以360度旋转: 当 "电" 遇到vec ...
- C++高精度计算代码运行时间(转载)
转载:http://blog.csdn.net/rrrfff/article/details/6583410 //在定时前应该先调用QueryPerformanceFrequency()函数获得机器内 ...
- 高精度计算的类(BigInteger和BigDecimal)
这两个类 在Java中没有对应的基本类型.不过,这两个类包含的方法,提供的操作与对基本类型所能执行的操作差不多. 也就是说,能对基本类型 int float 等的操作,也同样能作用于这两个类,只不过必 ...
- 华为机试_字符串识别_Vector的使用;
第一题:拼音转数字输入是一个只包含拼音的字符串,请输出对应的数字序列.转换关系如下:描述: 拼音 yi er san si wu liu qi ba jiu ...
- HDU 1042 N!(高精度计算阶乘)
N! Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...
- uva424 高精度计算
题意是计算各长整数的和,最多输入100个数,每个数都是正整数且位数不超过100. 很明显100位的数用数组存会方便许多,然后设置两个整型数组,一个存进位,一个存结果.为了对齐进行运算,我将所有的数先逆 ...
随机推荐
- etcdctl 安装与使用
介绍 etcdctl是一个提供简洁命令的etcd客户端,使用etcdctl可以直接和etcd服务打交道,对etcd中的键值对进行增删改查. 安装etcdctl 下载etcdctl工具 下载地址:etc ...
- Flask + PyInstaller = 客户端
Flask + PyInstaller = 客户端 有些特殊情况需要开发客户端,Python有几个常用的几个GUI框架,如 PyQt.wxPython等 但使用这些GUI框架往往界面比较丑,而且GUI ...
- 使用stream流对数据进行处理
1. 使用场景 本次使用是通过条件查询出所需要的多个字段后,对其进行处理(一个条件查询多个下拉框内容,并对每个下拉框内容封装对象,进行返回) 2. 代码 点击查看代码 //获取所有需要的数据 List ...
- Burp学院-SQL注入
前言: 上传下自己做的笔记,这些题做了好久好久了,一直没冒泡,之前想上传些东西结果博客园炸了就忘了,周五快下班了手头工作暂时缓解了,传点东西上来. 1.SQL injection UNION atta ...
- CocosCreator 性能优化:DrawCall
在游戏开发中,DrawCall 作为一个非常重要的性能指标,直接影响游戏的整体性能表现. 无论是 Cocos Creator.Unity.Unreal 还是其他游戏引擎,只要说到游戏性能优化,Draw ...
- postgresql生产环境三大难题
1.逻辑复制没有高可用 2.vacuum表膨胀问题严重 3.事务ID回卷,冻结清理
- JS中立即执行函数和闭包的区别
函数声明规则:必须指定一个函数名字 foo(); function foo() { console.log("函数声明") } 由于函数声明会被提升,所以调用函数可以在之前或之后调 ...
- Installing Jupyter
https://jupyter.org/install install pip install jupyterlab config 生成配置文件 jupyter notebook --generate ...
- [部署日记]GO在Visual Studio Code初次运行时提示The "gopls" command is not available. Run "go get -v golang.org/x/tools/gopls" to install.
本以为VSC在商城装上插件后就能拎包入住,F5的时候我当场好家伙 于是无脑Install... Installing github.com/nsf/gocode FAILED Installing g ...
- 并发多线程学习(三)Java多线程入门类和接口
1 Thread类和Runnable接口 上一章我们了解了操作系统中多线程的基本概念.那么在Java中,我们是如何使用多线程的呢? 首先,我们需要有一个"线程"类.JDK提供了Th ...