码迷,mamicode.com
首页 > 其他好文 > 详细

大数除法(除数在int范围内)

时间:2015-05-11 23:32:28      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:

#include<iostream>
#include<cstdio>
#include<cstring>
#define N 1000
using namespace std;
void division(char bcs[],int cs,char res[]) //被除数为大数,除数为int范围内
{
    int i,k,len,t=0,s=0;
    bool flag=false;   //商是否有了第一个有效位,防止商首部一直出现0
    len=strlen(bcs);
    for(i=0,k=0; i<len; i++)
    {
        t=s*10+(bcs[i]-48);    //新余数
        if(t/cs>0||t==0)      //余数为0要修改商
        {
            res[k++]=t/cs+48;
            s=t%cs;
            flag=true;
        }
        else         //不够除,修改余数
        {
            s=t;
            if(flag)   //商已经有有效位了,补零
                res[k++]=‘0‘;
        }
    }
    for(i=0;i<k;i++)
        cout<<res[i];
    cout<<endl;
    cout<<s<<endl;
}
int main()
{
    char num[N],res[N];
    int n;
    scanf("%s%d",num,&n);
    division(num,n,res);
    return 0;
}

  

大数除法(除数在int范围内)

标签:

原文地址:http://www.cnblogs.com/jasonlixuetao/p/4495805.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!