首页 > 其他分享 >高精度除法

高精度除法

时间:2023-09-26 23:35:34浏览次数:51  
标签:include 高精度 int back -- vector 除法 size

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

vector<int> div(vector<int>& A, int& b, int& r)
{
    vector<int> C;
    r = 0;//r为余数
    for (int i = A.size() - 1; i >= 0; i--)
    {
        r = r * 10 + A[i];
        C.push_back(r / b);
        r = r % b;
    }
    reverse(C.begin(), C.end());//交换容器内的元素顺序
    while (C.size() > 1 && C.back() == 0) C.pop_back();
    return C;
}

int main()
{
    string a;
    int b,r;
    cin >> a >> b;
    vector<int> A;
    for (int i = a.size() - 1; i >= 0; i--) A.push_back(a[i] - '0');
    auto C = div(A, b, r);
    for (int i = C.size() - 1; i >= 0; i--) cout << C[i];
    cout << endl << r << endl;
    return 0;
}

 

标签:include,高精度,int,back,--,vector,除法,size
From: https://www.cnblogs.com/muzhaodi/p/17731567.html

相关文章

  • 【模板】多项式乘法、乘法逆、除法、取模、常系数齐次线性递推
    以下代码必须开-O2#include<algorithm>#include<cassert>#include<cstdio>#include<cstring>#include<vector>usingnamespacestd;#ifdefLOCAL#definedebug(...)fprintf(stderr,##__VA_ARGS__)#else#definedebug(...)void(0)#......
  • 算法基础之高精度总结
    高精度算法分类分类:加、减、乘、除其中加减乘都适用于两个数都是高精度,除法因为除数是高精度的话不好用整除的方法,所以除法时被除数是高精度,除数是整型。高精度加减乘除的异同点加和乘相同点需要从低位到高位处理for(inti=stra.size()-1;i>=0;i--)c.push_back(stra[i......
  • 高精度乘法
    1#include<iostream>2#include<vector>3usingnamespacestd;45vector<int>mul(vector<int>&A,int&b)6{7vector<int>C;8intt=0;9for(inti=0;i<A.size()||t;i++)10......
  • 基础高精度算法:高精度四则运算
    #if1#include<iostream>#include<vector>#include<algorithm>usingnamespacestd;vector<int>add(vector<int>A,vector<int>B){vector<int>C;intt=0;for(inti=0;i<A.size()||i&l......
  • 用python求100到999以内的水仙花数(不用除法求各项)
    c=0forainrange(100,1000):forbinstr(a):a1=int(b)c=c+a1**3ifa==c:print(a)c=0输出结果为153370371407使用for循环来取数字中的每一位,不过数字要先化为str格式来取然后再化为int格式来赋值,要注意c的值每一次......
  • 高精度数各位数之和
    高精度数各位数之和 描述 输入一个高精度数,输出它各个位数数字之和。 输入 输入一行,包含一个正整数,数字的位数不超过1000位。 输出 输出高精度数的各位数之和。 输入样例1 123456789009876543211234567890输出样例1135 #include<io......
  • 高精度数的绝对值
     高精度数的绝对值 描述 输入一个高精度数,输出它的绝对值。 输入 输入一行,包含一个正整数,数字的位数不超过1000位。 输出 高精度数的绝对值。 输入样例1 -12345678900987654输出样例112345678900987654输入样例2 654321123456......
  • x86 Linux 下实现 10us 误差的高精度延时 | 软件开发 转载文章
    在Linux下实现高精度延时,网上所能找到的大部分方法只能实现50us左右的延时精度。https://mp.weixin.qq.com/s/H6TRsSAcQPGgX03rfsbxGQ作者:董文会(本文字数:4554,阅读时长大约:7分钟)在Linux下实现高精度延时,网上所能找到的大部分方法只能实现50us左右的延时精度。今天让......
  • 辗转相除法--求最大公约数
    1.题目使用迭代,并通过辗转相除法求最大公约数2.代码////Createdbytrmbhon2023-09-13./*辗转相除法*///#include"stdio.h"intfun(intm,intn){intr;if(n>m)return(fun(n,m));elseif(n==0)returnm;else{r=m%n......
  • rtlinux 高精度定时 转载的文章
    主要是RTLinux环境下编程总结,在嵌入版发过,没几个人响应。做过一个有关RTLinux的项目,时间一长,差不多忘光了,现在尽量把原来做过的东西总结一下,以备后用,同时正在做类似项目的一个借鉴平台主机:redhat8.0 目标机:PC104模块、ISA总线脉冲输出、实时串口通信      linux-2.4.18......