重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

1017A除以B-创新互联

1017 A除以B

分数 20
作者 CHEN, Yue
单位 浙江大学

创新互联主要从事成都网站制作、成都做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务舞阳,10多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108

本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。

输入格式:

输入在一行中依次给出 A 和 B,中间以 1 空格分隔。

输出格式:

在一行中依次输出 Q 和 R,中间以 1 空格分隔。

输入样例:
123456789050987654321 7
输出样例:
17636684150141093474 3

代码长度限制
16 KB
时间限制
100 ms
内存限制
64 MB
C++ (g++)

思路:

本题是高精度除法,直接套板子即可。
高精度除以低精度

vectordiv(vector&A, int b, int &r)
{vectorC;
    r = 0;
    for (int i = A.size() - 1; i >= 0; 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();
    return C;
}

作者:yxc
链接:https://www.acwing.com/blog/content/277/
来源:AcWing
AC代码:
//高精度除法
#includeusing namespace std;
vectorA,B;
int main(){string a;
    int b;
    cin>>a>>b;
    for(int i=a.size()-1;i>=0;i--) A.push_back(a[i]-'0');
    int t=0;
    for(int i=A.size()-1;i>=0;i--){t=t*10+A[i];
        B.push_back(t/b);
        t=t%b;
    }
    reverse(B.begin(),B.end());
    while(B.size()>1&&B.back()==0) B.pop_back();
    for(int i=B.size()-1;i>=0;i--) cout<

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


新闻标题:1017A除以B-创新互联
分享URL:http://cqcxhl.com/article/poeid.html
在线咨询
服务热线
服务热线:028-86922220
TOP