高精度--大数乘法 luogu

来源:互联网 发布:淘宝删除宝贝怎么恢复 编辑:程序博客网 时间:2024/05/19 02:44



P1303 A*B Problem

    • 2.8K通过
    • 10.5K提交
  • 题目提供者该用户不存在
  • 标签
  • 难度普及-
  • 时空限制1s / 128MB

  讨论  题解  

最新讨论更多讨论

  • 谁有第一个点的测试数据。。…
  • 求大神Help!!!
  • 本题第五个点数据极大!建议…
  • 温馨提示
  • 这道题明明不用高精度(信我…
  • 下载完一看数据突然不想做了

题目描述

求两数的积。

输入输出格式

输入格式:

两行,两个数。

输出格式:

输入输出样例

输入样例#1:
1 2
输出样例#1:
2

说明

每个数字不超过10^2000,需用高精


































#include <cmath>#include <cstdio>#include <cstring>#include <cstdlib>#include <iostream>#include <algorithm>const int N=1e+6;using namespace std;char a[N],b[N];int x[N],y[N],c[N];int len;int d=0;void cheng(char *a,char *b){int lena=strlen(a);int lenb=strlen(b);for(int i=0;i<lena;i++)x[i]=a[lena-i-1]-'0';for(int i=0;i<lenb;i++)y[i]=b[lenb-i-1]-'0';for(int i=0;i<lena;i++)for(int j=0;j<lenb;j++){c[i+j]+=x[i]*y[j];c[i+j+1]+=c[i+j]/10;c[i+j]%=10;}int len=lena+lenb;while(len>1&&c[len-1]==0)len--;//处理前导零d=len;}int main(){cin>>a;cin>>b;cheng(a,b);for(int i=d-1;i>=0;i--)cout<<c[i];return 0;}


原创粉丝点击