• sdut2613(This is an A+B Problem)大数加法(乘法)


    #include <iostream>
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    using namespace std;
    char a[1010],b[1010];
    int ta[1010],tb[1010];
    int main()
    {
    int l2,l1,l;
    while(scanf("%s%s",a,b)!=EOF)
    {
    memset(ta,0,sizeof(ta));
    memset(tb,0,sizeof(tb));
    l1=strlen(a);
    l2=strlen(b);
    if(l1<l2) l=l2;
    else l=l1;
    for(int i=0;i<l;i++)
    {
    if(l1-1>=0)
    {
    ta[i]=a[l1-1]-'0';
    l1--;
    }
    else ta[i]=0;
    if(l2-1>=0)
    {
    tb[i]=b[l2-1]-'0';
    l2--;
    }
    else tb[i]=0;
    }
    int t;
    for(int i=0;i<l;i++)
    {
    t=ta[i]+tb[i];
    if(t>=10)
    {
    ta[i]=t-10;
    ta[i+1]++;
    }
    else ta[i]=t;
    }
    int flag=0;
    for(int i=l;i>=0;i--)
    {
    if(flag||ta[i])
    {
    flag=1;
    printf("%d",ta[i]);
    }
    }
    if(!flag) printf("0");//用于解决只有0相加的状况
    printf(" ");

    }
    return 0;
    }

     Integer Inquiry

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cstring>
    #include <algorithm>
    using namespace std;
    
    int main()
    {
        int l1;
        char a[1001];
        int b[1001];
        memset(b,0,sizeof(b));
        while(scanf("%s",a)!=EOF)
        {
            if(a[0]=='0') break;
            l1=strlen(a);
            int j=0;
            for(int i=l1-1; i>=0; i--)
            {
                b[j]=b[j]+a[i]-'0';
                j++;
            }
        }
        int t;
        for(int i=0; i<1001; i++)
        {
            t=b[i];
            if(b[i]>9)
            {
                b[i]=t%10;
                b[i+1]=b[i+1]+t/10;
            }
            else b[i]=t;
        }
        int flag=0;
        for(int i=1001-1; i>=0; i--)
        {
            if (flag || b[i])
            {
                flag = 1;
                printf("%d",b[i]);
            }
        }
        if (!flag) printf("0");
        printf("
    ");
        return 0;
    }

     Product

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <cstdlib>
    #include <algorithm>
    using namespace std;
    char str1[300],str2[300];
    int d[300],f[300],c[601];
    int l1,l2,l,w,e;
    void init()
    {
        memset(c,0,sizeof(c));
        memset(d,0,sizeof(d));
        memset(f,0,sizeof(f));
    }
    int main()
    {
        while(scanf("%s",str1)!=EOF)
        {
            init();
            scanf("%s",str2);
            l1=strlen(str1);
            l2=strlen(str2);
            l=max(l1,l2);
            w=l1;
            e=l2;
            for(int i=0; i<l; i++)
            {
                if(l1-1>=0)
                {
                    d[i]=str1[l1-1]-'0';
                    l1--;
                }
                else d[i]=0;
                if(l2-1>=0)
                {
                    f[i]=str2[l2-1]-'0';
                    l2--;
                }
                else f[i]=0;
            }
            for(int i=0; i<w; i++)
            {
                for(int j=0; j<e; j++)
                {
                    c[i+j]=c[i+j]+d[i]*f[j];
                }
            }
            for(int i=0; i<600; i++)
            {
                if(c[i]>=10)
                {
                    c[i+1]+=c[i]/10;
                    c[i]=c[i]%10;
                }
            }
            int flag=0;
            for(int i=600; i>=0; i--)
            {
                if(flag||c[i])
                {
                    flag=1;
                    printf("%d",c[i]);
                }
            }
            if(flag==0) printf("0");
            printf("
    ");
    
    
        }
        return 0;
    }
  • 相关阅读:
    在ASP.NET 2.0中使用WebParts
    Asp.net生成静态页面原理
    提高ASP.Net应用程序性能的十大方法
    Web2.0之Tag标签原理实现浅析
    ASP.NET 2.0中的URL映射
    动态加载控件UserControl到页面上:视图状态问题
    C#自动登录网页浏览页面 抓取数据
    .NET Framework 类库提供的命名空间
    一个用于热部署的框架设想
    重构如何进行?
  • 原文地址:https://www.cnblogs.com/zhangmingcheng/p/3797303.html
Copyright © 2020-2023  润新知