zoukankan      html  css  js  c++  java
  • 3117 高精度练习之乘法

    3117 高精度练习之乘法

     

     时间限制: 1 s
     空间限制: 128000 KB
     题目等级 : 黄金 Gold
     
     
     
    题目描述 Description

    给出两个正整数A和B,计算A*B的值。保证A和B的位数不超过500位。

    输入描述 Input Description

    读入两个用空格隔开的正整数

    输出描述 Output Description

    输出A*B的值

    样例输入 Sample Input

    3 12

    样例输出 Sample Output

    36

    数据范围及提示 Data Size & Hint

    两个正整数的位数不超过500位

    分类标签 Tags 

    #include<cstdio>
    #include<iostream>
    #include<cstring>
    #define ref(i,x,y)for(int i=x;i<=y;i++)
    #define def(i,x,y)for(int i=x;i>=y;i--)
    using namespace std;
    int lena,lenb,x,a[101000],b[101000],c[101000];
    char a1[101000],b1[101000],n[101000];
    int main()
    {
        scanf("%s%s",a1,b1);
        lena=strlen(a1);lenb=strlen(b1);
        ref(i,0,lena-1) a[lena-i]=a1[i]-48;
        ref(i,0,lenb-1) b[lenb-i]=b1[i]-48;
        ref(i,1,lena){
            x=0;
            ref(j,1,lenb){
              c[i+j-1]+=a[i]*b[j]+x;
              x=c[i+j-1]/10;
              c[i+j-1]%=10;
            }
            c[lenb+i]=x;
        }    
        int j=lena+lenb;
        while(c[j]==0&&j>1) j--;
        def(i,j,1) printf("%d",c[i]);
        return 0;
    }
  • 相关阅读:
    fastdfs部署及官网
    fasrdfs在spring cloud中的使用
    面包屑的查询
    SpringCloud中使用ES使用课程上下线
    Redis中在项目中的使用
    树结构Tree查询
    平凡的世界 田晓霞的日记 摘抄

    英语积累
    英语学习第四天
  • 原文地址:https://www.cnblogs.com/shenben/p/5558845.html
Copyright © 2011-2022 走看看