当前位置: 首页 > news >正文

大数的乘法

题目描述

求两个不超过100位的非负整数的乘积。

输入

有两行,每行是一个不超过100位的非负整数,没有多余的前导0。

输出

 一行,相乘后的结果。

样例输入 Copy
123456789
123456789
样例输出 Copy
15241578750190521

代码实现:



#pragma GCC optimize(2)
#include <bits/stdc++.h>
using namespace std;
//定义数字部分
#define MAXLEN 250
#define RMAXLEN 500
//定义字符串,字符数组部分
string s1,s2;
int a[MAXLEN],b[MAXLEN],c[RMAXLEN],k;
int main()
{//输入两个数,用字符串格式输入cin>>s1;cin>>s2;//识别字符串长度,并进行逆序转存int len1=s1.length();for(int i=0;i<len1;i++){a[len1-1-i]=s1[i]-'0';}int len2=s2.length();for(int i=0;i<len2;i++){b[len2-1-i]=s2[i]-'0';}//循环计算部分for(int i=0;i<s1.length();i++){for(int j=0;j<s2.length();j++){k=i+j;//位数逐一相乘c[k]+=a[i]*b[j];//处理计算中的进位问题if(c[k]>=10){//满足条件,前一位进整除位,当前位对10 modc[k+1]+=c[k]/10;c[k]%=10;}}}//处理是否进位到了c[len]位int len=s1.length()+s2.length()+1;if(c[len]>0){len++;}//去除多余的前导0while(c[len-1]==0&&len>1){len--;}//逆序输出for(int i=len-1;i>=0;i--){cout<<c[i];}return 0;
}

http://www.lryc.cn/news/276552.html

相关文章:

  • 年度征文 | 机器学习之心的2023
  • 13.Kubernetes应用部署完整流程:从Dockerfile到Ingress发布完整流程
  • 多年后再用TB,谈项目管理工具
  • Spark MLlib ----- ALS算法
  • ubuntu桥接方式上网
  • 收到的字符串写入xml并且将这个xml写入.zip文件中
  • 【读书笔记】《白帽子讲web安全》跨站脚本攻击
  • 第九节 初始化项目
  • 【论文阅读】深度学习中的后门攻击综述
  • Spring Boot中加@Async和不加@Async有什么区别?设置核心线程数、设置最大线程数、设置队列容量是什么意思?
  • Vue_00001_CLI
  • kubernetes ResourceQuotas Limits(资源配额)
  • 【ARMv8架构系统安装PySide2】
  • ECMAScript6详解
  • [C#]使用PaddleInference图片旋转四种角度检测
  • stable diffusion 基础教程-提示词之光的用法
  • 第9课 回声抑制(AEC+AGC+ANS)的实现
  • 软件测试|Python中的变量与关键字详解
  • 修改安卓apk设置为安卓主屏幕(launcher)
  • unity中 canvas下物体的朝向跟随
  • HarmonOS 日期选择组件(DatePicker)
  • linux中的系统安全
  • LeetCode(209)长度最小的子数组⭐⭐
  • 【JAVA】MySQL中datetime类型23:59:59自动变为下一天的00:00:00
  • Unity游戏内相机(主角头部视角)的旋转问题:“万向节锁定”(Gimbal Lock)
  • Keras实现seq2seq
  • 1080p 1k 2k 4k 8k 分辨率,2K就不应该存在。
  • 接口芯片选型分析 四通道差分驱动可满足ANSI TIA/EIA-422-B 和ITU V.11 的要求 低功耗,高速率,高ESD
  • 使用.Net nanoFramework获取ESP32板载按键的点击事件
  • 安全远控如何设置?揭秘ToDesk、TeamViewer 、向日葵安全远程防御大招