您的位置:首页 > 其它

大数除法运算

2018-01-21 09:55 316 查看


问题 F: 除以13

时间限制: 1 Sec  内存限制:
128 MB
提交: 3  解决:
3

[提交][状态][讨论版]


题目描述

输入一个大于0的大整数N,长度不超过100位,要求输出其除以13得到的商和余数。


输入

一个大于0的大整数,长度不超过100位。


输出

两行,分别为整数除法得到的商和余数。


样例输入

2132104848488485


样例输出

164008065268345
0
#include<bits/stdc++.h>
using namespace std;
int main()
{
    char a1[102];int a[102],x=0,c[102];
    scanf("%s",&a1);
    int L=strlen(a1),L1=1;
    int i,j;
    for(i=1;i<=L;i++)
        a[i]=a1[i-1]-'0';//除法从高位开始,因此不用逆序
    for(i=1;i<=L;i++)
    {
        c[i]=(x*10+a[i])/13;
        x=(x*10+a[i])%13;//借给下一位
    }
    while(c[L1]==0&&L1<L)
        L1++;
    for(i=L1;i<=L;i++)
        printf("%d",c[i]);
    printf("\n%d",x);
    return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: