C++中的大数乘的实现
代码
来源:面试常考 大数加减乘除
#include <iostream>
#include <vector>
#include <string>
using namespace std;
vector<int> mult(string s1, string s2)
{
	int l1 = s1.size();
	int l2 = s2.size();
	vector<int> res(l1 + l2, 0);
	for (int i = 0; i < l1; i++)
	{
		for (int j = 0; j < l2; j++)
		{
			res[i + j + 1] += ((s1[i] - '0')*(s2[j] - '0'));
		}
	}
	int x = l1 + l2 - 1;
	for (int i = x; i > 0; i--)
	{
		res[i - 1] += res[i] / 10;
		res[i] %= 10;
	}
	return res;
}
int main()
{
	string a = "99999";
	string b = "99999";
	vector<int> ans = mult(a, b);
	int i = 0;
    //去除前面的0
	while (i < ans.size() && ans[i] == 0)
	{
		i++;
	}
	for (; i < ans.size(); i++)
	{
		cout << ans[i];
	}
	cout << endl;
	system("pause");
	return 0;
}
C++中的大数乘的实现的更多相关文章
- c语言经典算法——查找一个整数数组中第二大数
		题目: 实现一个函数,查找一个整数数组中第二大数. 算法思想: 设置两个变量max1和max2,用来保存最大数和第二大数,然后将数组剩余的数依次与这两个数比较,如果这个数a比max1大,则先将max1 ... 
- Java中的大数处理类BigInteger和BigDecimar浅析
		这两个类位于java.math包内,要使用它们必须在类前面引用该包:import java.math.BigInteger;和import java.math.BigDecimal; BigInteg ... 
- OpenSSL中的大数接口与基于其的自用RSA加密接口设计
		本文记录了初次接触OpenSSL中的大数模块,重温了RSA加密流程,使用OpenSSL的接口包装成自用RSA加密接口,并且利用自己的接口演示了Alice与Bob通过RSA加密进行通讯的一个示例. 概览 ... 
- java求两个数中的大数
		java求两个数中的大数 java中的max函数在Math中 应用如下: int a=34: int b=45: int ans=Math.max(34,45); 那么ans的值就是45. 
- JAVA中关于大数问题
		这里只是java速成,只限于java语法,包括输入输出,运算处理,字符串和高精度的处理,进制之间的转换等,能解决OJ上的一些高精度题目. 一.样例:java中的输出a+b import java.io ... 
- java中的大数BigInteger
		compareTo比较大小 equals比较是否相等 ,不能用== while(cin.hasNext())//等价于!=EOF n=cin.nextBigInteger();//读入一个大整数 Sy ... 
- c语言中函数的简单介绍
		c语言中函数的介绍: 函数,简单的说就是代码的打包.存放在一个地方,当需要的时候调用. 函数分类: 1.无参无返回值函数 void func() 2.无参有返回值函数 int func() 3.有参 ... 
- 简明解释算法中的大O符号
		伯乐在线导读:2009年1月28日Arec Barrwin在StackOverflow上提问,“有没有关于大O符号(Big O notation)的简单解释?尽量别用那么正式的定义,用尽可能简单的数学 ... 
- PAT 大数运算
		PAT中关于大数的有B1017,A1023,A1024 (A-Advance,B-Basic) B1017 1017. A除以B (20) 本题要求计算A/B,其中A是不超过1000位的正整数,B是1 ... 
随机推荐
- LeetCode——560. 和为K的子数组
			给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数. 示例 1 : 输入:nums = [1,1,1], k = 2 输出: 2 , [1,1] 与 [1,1] 为两种不 ... 
- 201512-2  消除类游戏 Java
			思路: 用二维数组,对于每一个棋子,向右看三个,向下看三个,如果相等则置为负数,最后遍历输出. import java.util.Scanner; public class Main { public ... 
- 吴裕雄--天生自然 JAVA开发学习:switch case 语句
			public class Test { public static void main(String args[]){ //char grade = args[0].charAt(0); char g ... 
- tomcat启动极慢在linux生产环境
			在window环境下不会出现启动极慢的问题. Tomcat启动极慢在生产环境,跟Weblogic一样 此外由于Weblogic创建域的时候使用的JDK是自带的jrockit,所以要解决WebL ... 
- Python重学记录1
			写下这个标题觉得可笑,其实本人2014年就自学过一次python,当时看的是中谷教育的milo老师的视频,也跟着写了一些代码,只是因为当时工作上用不到也就淡忘了.不过说实话当时的水平也很低下,本来也没 ... 
- java和数据库中所有的锁都在这了
			1.java中的锁 1.1 锁的种类 公平锁/非公平锁 可重入锁/不可重入 独享锁/共享锁 读写锁 分段锁 偏向锁/轻量级锁/重量级锁 自旋锁 1.2 锁详细介绍 1.2.1 公平锁,非公平锁 公平锁 ... 
- usert
			usert类型 不是一个函数,而是一个语言构造器 usert后会不会释放内存 当usert的文件大于2044KB时才会释放内存,否则不释放内存 
- 测试mvn -v 时报错,原因
			当安装完maven后在cmd命令框通过mvn -v 可以判断maven环境变量是否安装成功,但我安装配置完环境变量后执行报错如图 原因:配置的jdk的环境变量不符合maven最低要求(我配置的是jdk ... 
- div 命名规范! (野路子出来的好好看看)
			DIV命名规范 DIV命名规范 企业DIV使用频率高的命名方法 网页内容类 --- 注释的写法: /* Footer */ 内容区/* End Footer */ 摘要: summary 箭头: ... 
- dlib安装踩过的坑
			使用到dlib时遇到了下载错误,不能正常安装 以下是成功安装的记录: 首先打开Anaconda prompt选定一个python环境,安装cmake和boost pip install cmake - ... 
