洛谷 P1480 高精度除低精度

https://www.luogu.org/problemnew/show/P1480

题目描述

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

输入输出格式

输入格式:

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

输出格式:

一行,商的整数部分

输入输出样例

输入样例#1: 复制

10
2

输出样例#1: 复制

5

思路:模拟竖式除法。(高精/低精 好像是最好写的一个)

#include<iostream>
#include<cstdio>
using namespace std;

string s;
int a[10005];

int main()
{
    int t;
    cin>>s>>t;
    int temp=0;
    for(int i=0;i<s.size();i++)//模拟竖式除法
    {
        a[i]=(temp*10+s[i]-48)/t;
        temp=(temp*10+s[i]-48)%t;
    }
    int flag=0;
    for(int i=0;i<s.size();i++)
    {
        if(a[i])
            flag=1;
        if(flag)
            printf("%d",a[i]);
    }
    if(!flag)
        printf("0");
    return 0;
}

猜你喜欢

转载自blog.csdn.net/xiji333/article/details/87712526
今日推荐