大整数乘法c语言代码_大整数乘法

大整数乘法和我们小学学过的乘法公式一样(如下图),就是按位相乘,两个数中的每一位彼此相乘,然后将相同列的结果加起来,最后统一处理进位即可。

36006ed4d59dcb26f940289a4538eff2.png
#include <iostream>
#include <cstring>
using namespace std;
#define MAX_N 1000
​
void mul(int *num1, int *num2, int *res) { //乘法函数res[0] = num1[0] + num2[0]; //使用num1[0], num2[0]来存储数的位数,结果最多不超过num1[0] + num2[0]位for (int i = 1; i <= num1[0]; i++) { //逐位相乘for (int j = 1; j <= num2[0]; j++) {res[i + j] += num1[i] * num2[j];}}for (int i = 1; i <= res[0]; i++) {//处理进位if (res[i] < 10) continue;res[i + 1] += res[i] / 10;res[i] %= 10;i == res[0] && res[0]++; }
}
​
int main() {char str1[MAX_N + 5], str2[MAX_N + 5];int num1[MAX_N + 5], num2[MAX_N +5], res[MAX_N + 5] = {0};  //注意res数组需要初始化,否则结果可能不正确cin >> str1 >> str2;num1[0] = strlen(str1);//将逆序存储的字符串转化为顺序存储的整型for (int i = 0; str1[i]; i++) {num1[num1[0] - i] = str1[i] - '0';}num2[0] = strlen(str2);for (int i = 0; str2[i]; i++) {num2[num2[0] - i] = str2[i] - '0';}mul(num1, num2, res);for (int i = res[0]; i > 1; i--) { //第0位用来保存长度,第一位并没有使用cout << res[i];}cout << endl;   return 0;
}

以上就是大整数乘法的全部内容了。大家有什么问题,欢迎随时提问。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/355540.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

primefaces_懒惰的JSF Primefaces数据表分页–第2部分

primefaces页面代码非常简单&#xff0c;没有复杂性。 检查“ index.xhtml”代码&#xff1a; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"…

龙芯2h芯片不能进入pmon_“龙芯”18年:这个团队,终结了中国计算机产业的“无芯”历史...

近期在第二届数字中国建设峰会上展出的国产芯片龙芯3号。芯片是信息产业的灵魂&#xff0c;通用CPU(中央处理器)可以说是芯片中的“珠峰”。自主研发CPU&#xff0c;难度很大。在这个故事的起点&#xff0c;2001年8月的一个清晨&#xff0c;当龙芯第一代产品龙芯1号成功启动操作…

帝国cms录入表单模板php,帝国cms7.5在线表单提交制作教程

最近春哥仿站团队接到很多仿站客户订单&#xff0c;这里面有一个这样的功能&#xff0c;表单提交。今天花时间写个教程给大家。另外我们春哥仿站团队推出低价仿站业务&#xff0c;市面上99%的企业站点都能制作出来&#xff0c;有需要的联系我们。今天春哥团队华哥给大家讲解一下…

golang linux安装

go在linux下的安装&#xff1a; [rootlocalhost src]# wget https://storage.googleapis.com/golang/go1.8.1.linux-amd64.tar.gz 速度还挺快的 [rootlocalhost src]# tar -C /usr/local -xzf go1.8.1.linux-amd64.tar.gz 设置环境变量 [rootlocalhost src]# export PATH$PATH:…

java jsonobject 转对象_解析JSON中JSONObject的高级使用

文末会有读者福利简介:在程序开发过程中&#xff0c;在参数传递&#xff0c;函数返回值等方面&#xff0c;越来越多的使用JSON。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式&#xff0c;同时也易于机器解析和生成、易于理解、阅读和撰写&#xff0c;而且Json采…

xfs支持oracle,让linux内核支持xfs文件系统

作/译者&#xff1a;叶金荣(Email:)&#xff0c;来源&#xff1a;http://imysql.cn&#xff0c;转载请注明作/译者和出处&#xff0c;并且不能用于商业用途&#xff0c;违者必究。 XFS 简介XFS 最初是由 Silicon Graphics&#xff0c;Inc. 于 90 年代初开发的。那时&#xff0c…

c语言打印菱形_没事了,搞一下C语言打印大小可变的菱形图案?

问题分析&#xff1a;菱形的大小size其实就是中间行中*号的个数&#xff0c;也是整个菱形的行数&#xff0c;其值必是奇数。问题的关键之一是如何确定每行中*号的个数。经过分析得知&#xff1a;当行i<(size1)/2时&#xff0c;该行的*号个数为n2*i-1&#xff0c;否则n2*&…

ListView 与 RecyclerView的创建与使用的异同

相同&#xff1a;1.在使用时&#xff0c;都需要先获取&#xff0c;再新建适配器&#xff0c;再用serAdapter方法绑定适配器 2.创建数据List&#xff0c;都是新建ArrayList 不同&#xff1a;1.在新建适配器类时&#xff0c;listview的适配器继承自ArrayAdapter,recyclerview的适…

测试驱动开发 测试前移_测试驱动开发–双赢策略

测试驱动开发 测试前移敏捷从业人员谈论测试驱动开发 &#xff08;TDD&#xff09;&#xff0c;所以许多关心代码质量和可操作性的开发人员也是如此。 我曾几何时&#xff0c;不久前设法阅读了有关TDD的文章。 据我了解&#xff0c;TDD的关键是&#xff1a; 编写测试&#xff0…

android timer后函数继续执行_Android内存异常机制(用户空间)_JE

常见的Android稳定性异常&#xff0c;有内核异常和Android层异常。内核异常也就是常说的“kernel panic”&#xff0c;简称KE异常&#xff1b;Android层异常又分为java层crash和Native层crash&#xff0c;简称JE、NE异常。此外&#xff0c;Android层异常还有应用ANR和system_Se…

oracle10 数据库审计,Oracle数据库审计用法实例

本节是从ORACLE METALINK的DOC:167293.1翻译整理而来的。通过举例的方式来说明ORACLE审计的用法。ORACLE的审计可以从语句级、对象本节是从Oracle METALINK的DOC:167293.1翻译整理而来的。通过举例的方式来说明ORACLE审计的用法。ORACLE的审计可以从语句级、对象级和权限级几个…

cefsharp 发送请求服务器_超高性能管线式HTTP请求(实践·原理·实现)

来源:https://www.cnblogs.com/lulianqi/p/8167526.html这里的高性能指的就是网卡有多快请求发送就能有多快&#xff0c;基本上一般的服务器在一台客户端的压力下就会出现明显延时。该篇实际是介绍pipe管线的原理&#xff0c;下面主要通过其高性能的测试实践&#xff0c;解析背…

oracle 启用闪回数据库,如何启用Oracle10g闪回数据库特性

为什么80%的码农都做不了架构师&#xff1f;>>>1.确认当前模式SYS AS SYSDBA on 29-MAR-05 >select flashback_on from v$database;FLA---NO2.检查/修改恢复区设置SYS AS SYSDBA on 29-MAR-05 >show parameter db_recovery_file_destNAME TYPE VALUE-----------…

nvme通用驱动_对领域驱动设计的理解与实践

领域驱动设计(Domain-Driven-Design)是一种针对大型复杂系统的领域建模与分析方法论。2003 年&#xff0c;Eric Evans 发布《Domain-Driven Design: Tackling Complexity in the Heart of Software》(领域驱动设计&#xff1a;软件核心复杂性应对之道)&#xff0c;其中定义了DD…

为什么不应该用Stream forEach替换for循环的3个原因

太棒了&#xff01; 我们正在将代码库迁移到Java8。我们将用函数替换所有内容。 扔掉设计模式。 删除面向对象。 对&#xff01; 我们走吧&#xff01; 等一下 Java 8已经问世了一年多&#xff0c;而这种兴奋又回到了日常业务中。 baeldung.com从2015年5月开始执行的一项非代…

使用NPOI库导入导出EXCEL

一、EXCEL 导入&#xff08;Excel 导入导出实际项目中会被封装成**Helper 本示例只对简单功能做演示&#xff09; NPOI 包引用 视图view {ViewBag.Title "NPOIExcel"; }<h2>NPOIExcel</h2> <form action"Url.Action("NPOIInport", &…

oracle12c ora 12547,Oracle 12c DBCA出现PRCR-1079 ORA-12547 CRS-5017

Oracle 12c用dbca创建数据库时出现了PRCR-1079 ORA-12547 CRS-5017不能启动数据库。因为这里安装了Oracle Restart&#xff0c;所以尝试使用srvctl start database命令来手动启动数据库&#xff0c;但是结果还是一样不能启动。[gridoracle12c 12.1]$ srvctl start database -db…

kmeans鸢尾花分类python代码_python实现鸢尾花三种聚类算法(K-means,AGNES,DBScan)

一.分散性聚类(kmeans) 算法流程: 1.选择聚类的个数k. 2.任意产生k个聚类&#xff0c;然后确定聚类中心&#xff0c;或者直接生成k个中心。 3.对每个点确定其聚类中心点。 4.再计算其聚类新中心。 5.重复以上步骤直到满足收敛要求。&#xff08;通常就是确定的中心点不再改变。…

akka_Akka的字数统计MapReduce

akka在我与Akka的日常工作中&#xff0c;我最近写了一个字数映射减少示例。 本示例实现了Map Reduce模型&#xff0c;该模型非常适合横向扩展设计方法。 流 客户端系统&#xff08;FileReadActor&#xff09;读取文本文件&#xff0c;并将每一行文本作为消息发送给ClientActor…

Log4j 2配置与IntelliJ IDEA控制台颜色

Log4j是Java平台上最好的日志组件了&#xff0c;Log4j 2升级了不少API&#xff0c;拓展性更好。使用的话只需要直接引入就可以了. <dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version> &…