高精除之高精除单精

    高精除这东西比较玄学,据说只会考到高精除单精(dalao说就算考到高精除高精也不会有人敲的完的,so只讲了高精除单精)

高精除单精,就是模拟人算(高精除高精是用减法模拟),用被除数每一位上的数除以除数,若有余数就*10再加到下一位上去,一直到最后一位

加减乘除不在一起的高精是不完美滴,so强行安利蒟蒻的高精加减乘

代码如下:

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
using namespace std;
char e[1001];
int n,a[1001],c[1001];
int main()
{
    scanf("%s",e);
    int k=strlen(e);
    scanf("%d",&n);
    for(int i=k;i>=k;i--)
    {a[i]=e[k-i]-48;
    }
    for(int i=k;i>=1;i--)
    { 
      c[i]=a[i]/n;
      a[i]%=n;
      a[i-1]+=a[i]*10;
    }
    while(c[k]==0&&k>1)k--;
    for(int i=k;i>=1;i--)
    printf("%d",c[i]);
    
}
原文地址:https://www.cnblogs.com/lcez56jsy/p/10679029.html