洛谷 P1480 A/B Problem

题目描述

输入两个整数a,b,输出它们的商(a<=10^5000,b<=10^9)

输入输出格式

输入格式:

 

两行,第一行是被除数,第二行是除数。

 

输出格式:

 

一行,商的整数部分

 

输入输出样例

输入样例#1: 复制
10
2
输出样例#1: 复制
5
思路:模拟
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int b,len;
char a[10001];
int  c[10001],ans[10001];
int main(){
    scanf("%s",a);
    len=strlen(a);
    scanf("%d",&b);
    int n=0;
    for(int i=1;i<=len;i++ )
        if(isdigit(a[len-i])){ n++;c[n]=a[len-i]-'0'; }
    while(c[n]<b&&len>=1){
        c[n-1]=c[n-1]+c[n]*10;
        c[n]=0;n--;
    }
    for(int i=n;i>=1;i--){
        if(c[i]>=b){
            ans[i]=c[i]/b;
            c[i]=c[i]%b;
        }
        c[i-1]=c[i-1]+c[i]*10;
    }
    for(int i=n;i>=1;i--)    cout<<ans[i];
}

 

 
posted @ 2017-11-25 08:19  一蓑烟雨任生平  阅读(258)  评论(0编辑  收藏  举报