• 大数除法


    #include<stdio.h>  
    #include<string.h>  
    #define M 1000005  
    char s1[M],s2[M];  
    int a[M];  
    void ss(int m)//减运算  
    {  
        int i=0,j;  
        while(1)  
        {  
            if(s1[i]=='0') i++;  
            else  
            {  
                j=i;  
                break;  
            }  
        }  
        for(; i<m; i++)  
            s1[i]=s1[i]-s2[i]+'0';  
        for(i=m-1; i>j; i--)  
            if(s1[i]<'0')  
            {  
                s1[i]+=10;;  
                s1[i-1]--;  
            }  
    }  
    int main()  
    {  
        int i,j,k,n,m;  
        while(~scanf("%s%s",s1,s2))  
        {  
            n=strlen(s1);  
            m=strlen(s2);  
            if(n<m||n==m&&strcmp(s1,s2)<0)//特殊情况判断  
            {  
                printf("0 余数=");//求余数  
                for(i=0; i<n; i++)  
                    printf("%d",s1[i]-'0');  
                printf("
    ");  
                continue;  
            }  
            k=0;  
            while(1)  
            {  
                a[k]=0;  
                while(strcmp(s1,s2)>=0)//一直进行减法,直到不能减为止  
                {  
                    ss(m);  
                    a[k]++;  
                }  
                k++;  
                if(n==m)   break;  
                for(i=m-1; i>=0; i--) //在s2前面补0,以便进行减法运算  
                    s2[i+1]=s2[i];  
                s2[0]='0';  
                m++;  
                s2[m]='';//strcmp()函数遇到字符''结束  
            }  
            i=0;  
            while(a[i]==0) i++;//去除前导0  
            for(; i<k; i++)  
                printf("%d",a[i]);  
            printf(" 余数=");  
            j=0;//求余数  
            while(s1[j]=='0')  j++;  
            if(j==n)  
            {  
                printf("0
    ");  
                continue;  
            }  
            for(; j<n; j++)  
                printf("%d",s1[j]-'0');  
            printf("
    ");  
        }  
        return 0;  
    }  
    
  • 相关阅读:
    Summarizing NUMA Scheduling两篇文章,解释得不错
    VCAP5-DCA – What’s new?
    NUMA总结。
    NUMA and vNUMA
    NUMA
    vsphere 5.1 性能最佳实践。
    vsphere性能
    mysql的事务,隔离级别和锁
    mysql5.7 生成列 generated column
    mysql8 公用表表达式CTE的使用
  • 原文地址:https://www.cnblogs.com/nyist-xsk/p/7264819.html
Copyright © 2020-2023  润新知