#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的更多相关文章

  1. php-浮点数计算,double类型数加减乘除必须用PHP提供的高精度计算函数

    一.前方有坑 php在使用加减乘除等运算符计算浮点数的时候,经常会出现意想不到的结果,特别是关于财务数据方面的计算,给不少工程师惹了很多的麻烦.比如今天工作终于到的一个案例: $a = 2586; $ ...

  2. 使用高精度计算斐波那契数列 c++

    使用高精度计算斐波那契数列 非高精度 Code(Non-high accuracy) 这是不用高精度的代码 #include<bits/stdc++.h> using namespace ...

  3. cb15a_c++_vector容器的自增长_每次增加百分之50

    cb15a_c++_vector容器的自增长_每次增加百分之50每次自动容量代销扩充,增加百分之50_for windows C++,vector是用数组做出来的->数组的缺点和优点优点:具有下 ...

  4. 1169A+B问题终结版(高精度计算)

    描述 给定两个整数A和B,输出A+B的值.A和B的值可能会很大很大,甚至达到100位.现在请你解决这一问题. 输入 两行,分别是两个整数A,B,换行隔开.A和B会很大很大. 输出 一个整数,即A+B的 ...

  5. C++_系列自学课程_第_5_课_vector容器_《C++ Primer 第四版》

    再一次遇到 vector 这个单词; 每一次见到这个单词都感觉这个单词非常的 "高大上"; 数字遇到vector马上就可以360度旋转: 当 "电" 遇到vec ...

  6. C++高精度计算代码运行时间(转载)

    转载:http://blog.csdn.net/rrrfff/article/details/6583410 //在定时前应该先调用QueryPerformanceFrequency()函数获得机器内 ...

  7. 高精度计算的类(BigInteger和BigDecimal)

    这两个类 在Java中没有对应的基本类型.不过,这两个类包含的方法,提供的操作与对基本类型所能执行的操作差不多. 也就是说,能对基本类型 int float 等的操作,也同样能作用于这两个类,只不过必 ...

  8. 华为机试_字符串识别_Vector的使用;

    第一题:拼音转数字输入是一个只包含拼音的字符串,请输出对应的数字序列.转换关系如下:描述:      拼音        yi  er  san  si  wu  liu  qi  ba  jiu  ...

  9. HDU 1042 N!(高精度计算阶乘)

    N! Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...

  10. uva424 高精度计算

    题意是计算各长整数的和,最多输入100个数,每个数都是正整数且位数不超过100. 很明显100位的数用数组存会方便许多,然后设置两个整型数组,一个存进位,一个存结果.为了对齐进行运算,我将所有的数先逆 ...

随机推荐

  1. QT 连接SQLIte数据库

    1.新建一个qt应用程序 2.在.pro文件中添加 sql     (下图,可以查看使用方法) 添加结构查看: 3.开始连接数据库 4.运行结果查看: 5.查看数据库文件: 6.使用可视化工具创建一个 ...

  2. 【Linux】Linux网络编程

    socket 默认开启的socket是阻塞的,想要设置非阻塞的话,可以用 fcntl设置为 nonblock:或者使用setsockopt进行更多设置: 一般使用推荐 设成nonblock,然后epo ...

  3. 如何将视频作为Windows桌面动态壁纸,两步就可以搞定!

    Windows本身自带的设置是不支持直接将视频用作壁纸,所以要想实现这个功能需要第三方工具的帮助 一.软件简介 这是一款可以将视频文件作为动态壁纸展示在电脑桌面的软件,它体积小巧,占用资源也不多,相比 ...

  4. typescript学习 回顾查漏

    1.在public构造函数上使用on参数是一种速记,它使我们能够自动使用该名称创建属性. class Student { fullName:string; constructor(public fir ...

  5. sudo:Operation not permitted事件

    转载请注明来源:https://www.cnblogs.com/Sherlock-L/p/14933949.html 前言 事情是这样的,在风和日丽的一天,我如往常一样在服务器上敲下了sudo xxx ...

  6. mysql转国产数据库达梦随记

    记录一下转换的一些小坑. window环境 项目是springboot+ activiti6 + vue 第一步转移数据: mysql5.7  ---> 达梦7 这里使用dm的工具进行转换.发现 ...

  7. Java-net

    Java网络编程 相关概念: IP地址 端口 socket 理论 TCP 区分服务端和客户端 服务端: (1)创建ServerSocket对象,传入监听的端口号 (2)等待客户端的连接,调用accep ...

  8. Linux 第七节( 磁盘配额,RAID )

    vim /etc/fstab    //编辑文件 UUID=xxxxxxxxxxxxxx /boot xfs defaults,uquota 0 0    //增加uqota命令,允许磁盘扩容 ino ...

  9. SQL面试题,工作整理sql

    一.数据库和算法   表名:student,name,course,score    张青  语文  72    王华  数学72    张华  英语 81    张青 物理 671.用sql查询出& ...

  10. 关于protobuf报错'tr1/unordered_map' file not found

    这个问题的话,查了很多资料,总的来说就是C++版本的问题,新版本的namespace结构变化了,C++库的层级结构变化了 1.config.h HASH_MAP_H    HASH_SET_H 新版本 ...