高精度运算 51 nod 大数相乘

该博客介绍了一道基础题,要求计算两个大整数相乘的结果。给出的C++代码实现将大数转化为数字存储并进行高精度乘法运算。博主分享了个人在解决此问题时的感受,表达了因转专业而独自一人在宿舍的孤独感和对学习的反思。
摘要由CSDN通过智能技术生成
基准时间限制:1 秒 空间限制:131072 KB 分值: 0  难度:基础题
 收藏
 关注
给出2个大整数A,B,计算A*B的结果。
Input
第1行:大数A
第2行:大数B
(A,B的长度 <= 1000,A,B >= 0)
Output
输出A * B
Input示例
123456
234567
Output示例
28958703552
#include<bits/stdc++.h>
using namespace std;
int main(){
   char a[10001],b[10001];
   int j,k,l=0,i=0,t=0,r,c[100001]={0},d[10000],e[10000];
     cin>>a>>b;
   for(j=0;j<strlen(a);j++)   d[j]=a[j]-'0';    //将字符转化为数字存储
   for(j=0;j<strlen(b);j++)   e[j]=b[j]-'0';
   for(j=strlen(a)-1;j>=0;j--){
       l=strlen(a)-j-1;                  //错位 
       for(k=strlen(b)-1;k>=0;k--){
           t=d[j]*e[k]+c[l];               
           c[l]=t%10;                          //储存
           if(t>9)  c[l+1]=c[l+1]+t/10;      //如果大于9 将存在下一个位置上
           l++;
       }
   }
   for(j=100000;j>=0;j--){
      if(c[j]!=0){
        r=j;
        break;
      }
   }
   for(j=r;j>=0;j--){
      cout<<c[j];
   }
}


加油  因为转专业的缘故宿舍的都出去实习了 我自己一个人待在宿舍感觉好孤单啊·====早知道就不转专业了  转过去我也没有好好听课 还不如不转呢 唉 心痛
 
  
 
  
 
  
 
  
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值