zoukankan      html  css  js  c++  java
  • 高精度算法_大数除以小数

    给定两个非负整数A,B,请你计算 A / B的商和余数。

    输入格式

    共两行,第一行包含整数A,第二行包含整数B。

    输出格式

    共两行,第一行输出所求的商,第二行输出所求余数。

    数据范围

    1A1000001≤A的长度≤100000,
    1B100001≤B≤10000
    BB 一定不为0

    输入样例:

    7
    2
    

    输出样例:

    3
    1
    
    #include <iostream>
    #include <vector>
    #include <algorithm>//
     
    using namespace std;//
     
    vector<int> div(vector<int>&A,int b,int &r)//使
    {
      vector<int> C;//
      r=0;
      for(int i =A.size()-1;i>=0;i--)
      {
        r=r*10+A[i];//乘10
        C.push_back(r/b);
        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 ;//构_
     
      cin>>a>>b;//
     
      vector<int> A;
      for(int i=a.size()-1;i>=0;i--) A.push_back(a[i]-'0');//进vector
     
      int r;//
      auto C=div(A,b,r);//
     
      for(int i=C.size()-1;i>=0;i--) printf("%d",C[i]);//
      cout<<endl<<r<<endl;
     
      return 0;
    }
     
     
     
  • 相关阅读:
    How To Use Google Logging Library (glog)
    段错误调试
    getline 使用
    remove_if筛选数组元素
    getline C++ Reference
    c++ Why remove_copy_if returns an empty vector? Stack Overflow
    About iClick
    哈工大社会计算与信息检索研究中心
    python的16进制和10进制间的转换
    毕业生 哈尔滨工业大学社会计算与信息检索研究中心 理解语言,认知社会
  • 原文地址:https://www.cnblogs.com/WAsbry/p/13585016.html
Copyright © 2011-2022 走看看