大数乘法

大数问题:大数加法 与 大数乘法 最简单大数乘法 大数加法很简单,大叔乘法只是以大数加法为基础的,光从难度来说,两者差不多。 思路:这里没有借鉴别人牛逼的算法,现在也没有这个需求,就用最通俗的思路自己想了一个。 先举一个简单的例子 所以乘法就是每一位个位数相乘再乘以多少次方就可以了,这个多少次就是两者的数组位置的索引相加。 看看关键代码 for (int i = 0; i ; i ++) { for 阅读详情

51Nod  1027


基准时间限制: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
相关问题
大数加法 
0
 
大数乘法
0
 
大数乘法 V2 
80
 
大数除法 
160
 
大数进制转换 
320
大数开平方 
320


/*
	大数乘法: 
	
	运用模拟,两个数组来储存两个大数
	另外一个数组来保存运算结果	
	
	em....
	
*/

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int MAXN=10000;
char s1[MAXN],s2[MAXN];
int a[MAXN],b[MAXN],c[MAXN];
int main() 
{
	while(scanf("%s %s",s1,s2)!=EOF)
	{
		memset(a,0,sizeof(a));
		memset(b,0,sizeof(b));
		memset(c,0,sizeof(c));
		int len1=strlen(s1);//第一个数的长度 
		int len2=strlen(s2);//第二个数的长度 
		int i,j;
		for(i=len1-1,j=0;i>=0;i--)	a[j++]=s1[i]-'0';//用数组逆序保存第一个数 
		for(i=len2-1,j=0;i>=0;i--)	b[j++]=s2[i]-'0';//用数组逆序保存第二个数 
		for(i=0;i<len1;i++)		
			for(j=0;j<len2;j++)
				c[j+i]+=a[i]*b[j];//一定要 + *  
		int len=len1+len2;
		for(i=0;i<len;i++)//进行进位运算 
			if(c[i]>9)
			{
				c[i+1]+=c[i]/10;
				c[i]%=10;
			 } 
		int t=len;
		for(i=len-1;i>=0;i--)//去掉前置0 
			if(c[i]==0)	t--;
			else		break;
		for(i=t-1;i>=0;i--)//输出 
			printf("%d",c[i]);		
		printf("\n");
	}	
	return 0;
}



大数加法、大数乘法以及大数比较大小 1.大数 首先,我们要知道什么是大数,大数就是指用我们平常常见的高级语言(如:c 、c++)的基本数据类型的最大长度都装不下的数据。例如:(2686394703724717637215819483728913901381333646448),这些只能用字符数组(char[])* 或者* 字符串(string)*来处理,这里给大家介绍一下用字符串处理大数加法、大数乘法、大数比较大小(针对两位大数而言,并且都是正数。 2.大数加法的实现思想 用字符串表示大数。将大数用十进制字符数组表示,模拟加法竖式计算的 阅读详情

相关推荐

C++ 模拟大数乘法 以及 大数阶乘

大数乘法 以及 大数阶乘基本概念及背景大数乘法思路代码实现运行结果大数阶乘思路代码实现运行结果最最最重要的总结部分 写在开头: 大数的运算一直以来都是一个具有研究性的问题, 自己动手模拟了一下笔算乘法, 以及由乘法拓展出来的阶乘, 和大家分享一下思路及代码 基本概念及背景 大数: 我们把运算结果超出计算机数据类型范围的数, 称之为大数 (胡扯中) 比如50的阶乘结果是65位, 而 int...

insight2的博客 1032

大数乘法——大数问题

大数乘法基本思想与大数的加法减法一样,但是乘运算与加减还是有很大区别的,根据下图,我们可以看到两个数相乘,既是两个数每一位的相乘,之后再相加,并且我们可以知道,两个数相乘的结果的位数不会大于两个数位数之和(例如:9*9=81,位数为1+1=2,说明个位数相乘最大位数不会超过2位,其他同理),乘法运算中我们需要进位,与加法不同的是,加法只需要判断最后一位有没有大于10,而乘法中每一次都需要判断。而...

博客 3994

大数乘法——C++实现

大数乘法的实现在于利用理论上无限大的数据结构来替代基本数据类型。 本文实现了用string得到大数,同时利用vector容器来进行计算的程序,具体思路为: 1、利用string变量输入大数,将其每个数字放入vector变量中; 2、利用乘法运算规律进行计算: (1)、将乘数与被乘数每一位利用两个for循环进行乘法运算,将结果保存于result中,其中result的位数为两个数的位数

pancsd的博客 3165

【算法】大数乘法问题及其高效算法

题目编写两个任意位数的大数相乘的程序,给出计算结果。比如: 题目描述: 输出两个不超过100位的大整数的乘积。 输入: 输入两个大整数,如1234567 和 123 输出: 输出乘积,如:151851741 或者求 1234567891011121314151617181920 * 2019181716151413121110987654321 的乘积结果分析所谓大数相乘(M

Mlib 11万+

Deepseek+Word插件:一键搞定论文翻译与润色的学术写作新革命

本文介绍了Deepseek Word插件如何革新学术写作流程,实现论文翻译与润色的一键操作。该插件深度集成于Word环境,能智能完成中英互译、语法修正、术语统一及逻辑优化,显著提升写作效率与文本质量,是研究者的高效AI助手。

weixin_29252171的博客 512

Win10/Win11共享打印机0x00000709终极修复指南:从注册表到LPD协议的全面解决方案

本文提供了Win10/Win11共享打印机0x00000709错误的终极修复指南,涵盖从注册表修改到LPD协议的全面解决方案。通过详细分析错误根源、基础修复四步法、高阶LPD协议方案及企业级深度修复策略,帮助用户彻底解决打印机共享问题,提升局域网打印效率。

weixin_33724046的博客 310

大数 乘法 C语言

其核心就是:两个大数,从末尾开始逐位相乘。相乘结果保存在另外一个数组里面(也从数组末尾开始依次往前保存)。然后将保存位置大于9的数进行进位处理。

liangkk的博客 2万+

使用嘉立创绘制STM32F103T8C6最小系统板

使用嘉立创EDA绘制一个属于自己的STM32最小系统板

weixin_67887035的博客 1万+

大数运算(4)——大数乘法

首先说一下乘法计算的算法,从低位向高位乘,在竖式计算中,我们是将乘数第一位与被乘数的每一位相乘,记录结果,之后,用第二位相乘,记录结果并且左移一位,以此类推,直到计算完最后一位,再将各项结果相加。得出最后结果。 计算的过程基本上和小学生列竖式做乘法相同。为编程方便,并不急于处理进位,而将进位问题留待最后统一处理。 ans[i+j] = a[i]*b[j];

静之吾心的博客 2万+

一文帮你彻底搞懂ARM Debug Interface之SWD(转)

ARM的文档写的已经很好了,但是关于上电以后的第一时间应该怎么操作,依然写的不够清晰,导致我第一次用的时候还是费了一些周折。今天做一个详细的梳理,希望能够帮助到更多的朋友。BTW, ARM_Cortex-M0/3 DesignStart系列会持续更新,只是中间可能会穿插其他知识点。SWD是Serial Wire Debug的简称,翻译成中文是”串行线调试”。

2302_79847220的博客 6861

【WRF-Chem工具】pyVPRM 计算大气与陆地植被之间的 CO₂ 交换通量

pyVPRM 计算大气与陆地植被之间的 CO₂ 交换通量

WW、forever的博客 210

大数乘法问题

由于高级程序语言数据类型有一定的范围,不能利用原子类型存储过大的数据,所以,大数的乘法问题对算法的初学者有一定的挑战性、练习性。以下是自己对大数乘法问题的解决,因为自己能力不行,没有完成代码的优化工作,仅仅利用此文章记录自己的学习过程。也希望各位大神指导指导。 一、问题:实现大数的乘法。 二、分析问题: 1、因为原子类型的范围限制,自己选用数组对大数进行存储(也可以用STL 的 vector...

qq_39816087的博客 928

OAI-5G开源通信平台实践(一)-安装 部署及RFsimulator基本测试

OAI (Open Air Interface) 是目前开源5G/4G项目中最完善、最成熟的一个,并且仍然在持续更新。其包含基站、终端及核心网网元的代码,可基于x86\arm+射频卡搭建实际硬件平台,也可在x86平台上对rf\phy等层进行模拟,做各网元协议栈的单独测试验证。本文总结了x86平台下,oai的安装及运行方式。包括NTN分支和主分支的rf simulator、nos1、端到端部署等场景的验证流程,同时总结了验证过程中遇到的问题及解决方法。

十年通信老兵的技术修炼之路——从3G到5G,从地面基站到卫星通信。 2963

大数的基本运算——大数乘法

大数:即超过了计算机定义类型的范围的数,如126349678984*1321656546446546546546,这种运算的结果 太大,超过了基本类型的范围,发生溢出,这样我们就需要运用大数的算法来解决这个问题了。 大数乘法: /* * 大数乘法 */ #include #include using namespace std; void big_multiply(c

黑盒子的博客 5448

YOLOv10改进策略【模型轻量化】| MoblieNetV3:基于搜索技术和新颖架构设计的轻量型网络模型

本文记录的是基于MobileNet V3的YOLOv10目标检测轻量化改进方法研究。的模型结构是通过得来的,其中的基础模块结合了的深度可分离卷积、的线性瓶颈和倒置残差结构以及MnasNet中基于挤压和激励的轻量级注意力模块,使模型在性能、效率和灵活性方面都具有显著的优势。本文在替换骨干网络中配置了原论文中的small和large2种模型,以满足不同的需求。

Limiiiing的博客 514

Detector-Free SfM 项目复现完整指南:从环境搭建到代码解析与可视化

本文提供了Detector-Free SfM项目的完整复现指南,涵盖技术背景、环境配置、代码解析和可视化方案。重点包括: 技术背景:Detector-Free SfM通过两阶段策略(粗重建+迭代精化)解决了传统SfM在弱纹理区域的瓶颈问题,采用深度学习匹配器替代传统特征点检测。 环境配置: 详细硬件要求与推荐配置(GPU/CPU/内存) 完整的Ubuntu系统设置步骤 Conda环境创建与依赖安装流程 关键组件安装指南(PyTorch、COLMAP等) 常见错误解决方案 项目特点: 支持多种Detector

huanghm88的专栏 121

大数加法,大数乘法

#include <stdio.h> #include <string.h> #include <stdlib.h> typedef struct NODE { struct NODE * pUp;//前驱 int shuzhi;//数据 struct NODE * pNext;//后继 }*pNode; /*******************函数声明**********************/ int multiply (char * strMultipl

u011256974的博客 182

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

上一篇: 大数加法
下一篇: HDU_2036改革春风吹满地
陶鸿杰
博客等级 码龄9年 93粉丝 298原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值