有两个用字符串表示的非常大的大整数,算出他们的乘积,也是用字符串表示。不能用系统自带的大整数类型。

输入描述:
空格分隔的两个字符串,代表输入的两个大整数
输出描述:
输入的乘积,用字符串表示
输入例子1:
72106547548473106236 982161082972751393
输出例子1:
70820244829634538040848656466105986748

大数乘法问题

简单来说就是把A[i]*B[j]累加放到临时数组的C[i+j]位置。

然后对数组C执行进位加法即可。

剩下的步骤就是字符与数字之间的转换与逆序问题。

参考代码如下:

#include <iostream>
#include <string>
#include <vector>
using namespace std;int main()
{string str1, str2;while (cin >> str1 >> str2){int n1 = str1.size(), n2 = str2.size();vector<int> v1, v2;// 将两个字符串放入数组中并逆序for (int i = n1 - 1; i >= 0; --i){v1.push_back(str1[i] - '0');}for (int i = n2 - 1; i >= 0; --i){v2.push_back(str2[i] - '0');}// 待处理的临时数组vector<int> v(n1 + n2, 0);for (int i = 0; i < n1; ++i){for (int j = 0; j < n2; ++j){v[i + j] += v1[i] * v2[j];}}// 处理数组中的加法进位for (int i = 0; i < n1 + n2-1; ++i){v[i + 1] += (v[i] / 10);v[i] = v[i] % 10;}string res;// 判断最终结果的有效位数int m = n1 + n2 - 1;if (v[n1 + n2 - 1] == 0)m = n1 + n2 - 2;// 将结果转换为字符串for (int i = m; i >= 0; --i){res += (v[i] + '0');}cout << res << endl;}return 0;
}    

转载于:https://www.cnblogs.com/immjc/p/9420387.html

[Nowcoder] 大整数相乘(拼多多笔试题)相关推荐

  1. 拼多多笔试题 回合制游戏

    拼多多笔试题 回合制游戏 题目描述 解法1(深度优先搜索) 解法2(数学规律) 昨晚心血来潮,拿了一份校招真题练练手,无奈这道题一直没有AC,只有75%的通过率,用了深度优先搜索+记忆化搜索最终还是会 ...

  2. 校招拼多多笔试题(前端工程师)

    考试时间:2017-09-02-提前批内推-笔试 1) 测试代码如下: var a = {}; b = { key: 'b' }; c = { key: 'c' }; a[b] = 123; a[c] ...

  3. 拼多多笔试题(六):选靓号

    问题描述: A 国的手机号码由且仅由 N 位十进制数字(0-9)组成.一个手机号码中有至少 K 位数字相同则被定义为靓号.A 国的手机号可以有前导零,比如 000123456 是一个合法的手机号. 小 ...

  4. 拼多多笔试题(三):多多的电子字典

    问题描述: 多多鸡打算造一本自己的电子字典,里面的所有单词都只由a和b组成. 每个单词的组成里a的数量不能超过N个且b的数量不能超过M个. 多多鸡的幸运数字是K,它打算把所有满足条件的单词里的字典序第 ...

  5. 拼多多笔试题(一):多多的魔术盒子

    问题描述:  多多鸡有N个魔术盒子(编号1-N),其中编号为i的盒子里有i个球. 多多鸡让皮皮虾每次选择一个数字X(1 <= X <= N),多多鸡就会把球数量大于等于X个的盒子里的球减少 ...

  6. python 拼多多秒杀_关于 拼多多笔试题-简单易懂的秒杀服务

    实现一个简易的秒杀服务,有3个接口: 1. 添加一个秒杀活动 addActivity(int startTime, int endTime, int goodsId, int limitQuantit ...

  7. 2019提前批——拼多多笔试题

    一(85) 给定两个数组A和B.其中数组A是几乎严格升序排列的,几乎的定义是只需改变其 中一个数,即可满足完全升序排列. 你的任务是从数组A中找到这个数字,并从数组B中选取1数将其替换,使得数 组A是 ...

  8. 拼多多笔试题 回合制角色扮演

    题目描述 你在玩一个回合制角色扮演的游戏.现在你在准备一个策略,以便在最短的回合内击败敌方角色.在战斗开始时,敌人拥有HP格血量.当血量小于等于0时,敌人死去.一个缺乏经验的玩家可能简单地尝试每个回合 ...

  9. 【拼多多笔试题】小熊战斗力

    解题思路 对小熊战斗力进行排序,糖果填充的饥饿值进行排序 遍历小熊,对其需要的饥饿值在谈糖果中进行二分查找,查找的终止条件为,找到小于等于当最接近小熊需要饥饿值得数字,然后小熊的需要饥饿值减去糖果可以 ...

最新文章

  1. 赛森机器人_戴森扫地机器人体验:六千元的它,到底好在哪?
  2. 【LeetCode】TreeNode类实现解析(java实现)
  3. 简约好看的域名售卖页html源码
  4. 解决outlook不能显示鼠标问题
  5. STM32F103单片机RTC实时时钟的使用
  6. sql oltp_内存中的OLTP系列– SQL Server 2014上的数据迁移指南过程
  7. Leetcode961. N-Repeated Element in Size 2N Array重复N次的元素
  8. 王道考研-计算机网络
  9. cmd查看所有数据库 db2_db2数据库常用操作命令大全
  10. RangeError: Maximum call stack size exceeded
  11. 极化码 极化现象matlab仿真(信道容量,巴氏参数,高斯近似三种方法)
  12. Termux使用教程
  13. 微型计算机原理8255跑马灯,单片机+74LS138译码器+跑马灯+8255A+8253方波实验详解
  14. 三调 图斑地类面积_关于三调,国土空间规划中至少需要这些知识
  15. Linux实现基于Loopback的NVI(NAT Virtual Interface)
  16. Python_OpenCV对摄像头图像进行对焦判断
  17. 物联网解决方案,一个基于WiFi,一个基于ZigBee,两者的优势和劣势有哪些?
  18. 基于JAVA的医院门诊信息管理系统
  19. 非科班学python就业_非科班出身自学Python,这些实用方法学习方法你知道吗!
  20. 情感分析Sentiment Analysis 知识资料全集(入门/进阶/论文/综述/视频/专家,附查看

热门文章

  1. 提高篇 第三部分 图论 第4章 差分约束系统
  2. php输出excel表格乱码和第一个0不显示的解决方法(详细)
  3. 写一个sql实现以下查询结果_SQL复杂查询—知识点梳理(四)
  4. ajax 实时进度_如何做好项目进度管理
  5. java class _Java Class文件详解
  6. 华为交换机eth口作用_华为S5700交换机如何配置ETH-交换机怎么设置
  7. Linux基础学习二:计算机组成以及Linux简单配置
  8. 【ES9(2018)】RegExp扩展
  9. beautifulsoup_BeautifulSoup爬虫了解一下
  10. Java笔记-使用RabbitMQ的Java接口实现topic(主题模式)