1 条题解

  • 0
    @ 2025-10-8 16:53:21

    A04 高精度算法 除法

    #include<bits/stdc++.h>
    using namespace std;
    
    struct node
    {
        int a[5010],len;
        node()
        {
            len=1;
            memset(a,0,sizeof(a));
        }
    };
    
    node div(node n1,int x)
    {
        node no;
        no.len=n1.len;
        long long r=0;
        for(int i=n1.len;i>=1;i--)
        {
            r=r*10+n1.a[i];
            no.a[i]=r/x;
            r=r%x;
        }
        
        int i=no.len;
        while((no.a[i]==0)&&(i>1)) i--;
        no.len=i;
        
        return no;
    }
    int main()
    {
        char st[5010];node no,n1;
        
        scanf("%s",st+1);n1.len=strlen(st+1);
        for(int i=1;i<=n1.len;i++) n1.a[n1.len-i+1]=st[i]-'0';
         
        int x;scanf("%d",&x);
         
        no=div(n1,x);
         
        for(int i=no.len;i>=1;i--) printf("%d",no.a[i]);
        printf("\n");
        return 0;
    }
    
    • 1

    信息

    ID
    52
    时间
    1000ms
    内存
    128MiB
    难度
    4
    标签
    递交数
    47
    已通过
    22
    上传者