大整数乘法c语言代码_大整数乘法
大整数乘法和我们小学学过的乘法公式一样(如下图),就是按位相乘,两个数中的每一位彼此相乘,然后将相同列的结果加起来,最后统一处理进位即可。
#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;
}
以上就是大整数乘法的全部内容了。大家有什么问题,欢迎随时提问。
大整数乘法c语言代码_大整数乘法相关推荐
- 单片机STC89C52_C语言代码_来回流水_软件延时
单片机STC89C52_C语言代码_来回流水_软件延时 //11.0592MHz: //50=3.3ms;80=5.2ms;100=6.5ms;1000=65ms; //5000=325ms;7800 ...
- c 语言比较三个整数大小,C 语言 —— 比较三个整数的大小并从大到小输出
思路一:定义两个比较大小的函数,依次两两比较输出最大或最小的数字(较为繁琐,最易分析) /* C 语言比较三个整数的大小并从大到小输出 思路:定义两个比较大小的函数,依次两两比较输出最大或最小的数字 ...
- 在命令提示符输出c语言代码_您可以在Windows命令提示符中更改输出缓冲区的大小吗?...
在命令提示符输出c语言代码 If you are someone who loves using the Windows Command Prompt, you may have found your ...
- 大数据数据收集数据困难_大数据架构、大数据开发与数据分析的区别
是新朋友吗?记得先点蓝字关注我哦- 今日课程菜单 Java全栈开发 | Web前端+H5 大数据开发 | 数据分析 人工智能+Python | 人工智能+物联网 来源:小职(z_zhizuobiao ...
- 大数据标签获取处理步骤_大数据处理分为哪些步骤
具体的大数据处理方法确实有很多,但是根据笔者长时间的实践,总结了一个普遍适用的大数据处理流程,并且这个流程应该能够对大家理顺大数据的处理有所帮助.大数据来源广泛,应用需求和数据类型都不尽相同,不过最基 ...
- 进制转换c语言代码_奇怪的C语言代码,有些函数在变量前加上(void)是什么类型转换?...
C语言的语法极其简洁,即使是初次接触编程语言的初学者也能很快学完它的语法.不过,C语言也是一门"灵活得过了头"的编程语言,对于很多初学者来说,编写C语言程序就好像拿着一堆最基本的砖 ...
- 大数据数据收集数据困难_大数据就是好数据吗?研究人员在处理大数据集时遭遇的 5 大挑战...
大数据给每个科研领域的研究方式带来了前所未有的变化.每个领域中,研究人员可使用的工具皆有显著性,大数据现在逐渐成为横跨各学科领域的共同工具.大数据集的可取得性以及可存储并共享大量的数据的能力为研究人员 ...
- 大数据对人们的好处_大数据有什么作用和优势
在如今的数字经济时代,提及大数据,人们不禁想到了大数据网上购物推荐和大数据阅读推荐.但事实上,大数据的深度和广度并不局限于此,它在人类社会的各个方面都发挥了重要作用和巨大优势. 一:大数据可以帮助企业 ...
- 大数据要学javaweb吗_大数据是私有财产吗?
资讯类APP会以最快速度让你看到想看的内容,外卖美食APP会推送给你爱吃的美食信息--互联网广告变得越来越精准,APP也更懂我们,这背后都是大数据的广泛应用. 来源:NBS新品略 作者:吴文武 那么, ...
最新文章
- 2021年大数据Spark(五):大环境搭建本地模式 Local
- 腾讯应用研究一面 武汉
- 面试官问我:什么是高并发下的请求合并?
- Asp.net MVC Filter监控页面性能和运行时间
- emacs c语言 自动补全,Emacs 与 C/C++ 代码自动补全
- POE供电交换机技术分析及工作过程详解
- TensorFlow 笔记1 Mac Python环境搭建
- 机器学习与R语言(原书第2版)》一1.4 实践中的机器学习
- Spring Boot Lombok配置
- ecs mysql 安装_CentOS8 安装MySQL8(ECS系列二)
- protobuf序列化协议python教程
- TZOJ 数据结构期末历年题目
- [Linux] 通过shell给unix socket发送数据
- 解决 login.live.com onedrive.live.com 等微软国外网站打不开问题
- poj3294Life Forms
- python命名规则数字开头的成语_day01 Python基础
- 《人月神话(The Mythical Man-Month)》2人和月可以互换吗?人月神话存在吗?
- 微信发定位服务器地址,腾讯位置服务教你轻松搞定微信发送位置功能
- 牛逼,手机居然可以无线投屏到笔记本电脑!
- 电脑不能开热点的一种可以尝试的解决方法
热门文章
- 检测工业级交换机性能好坏的8种方法
- [渝粤教育] 西南科技大学 计算机工业控制 在线考试复习资料
- c语言选择题答案在哪查,C语言选择题及答案
- ubantu java编辑器_Linux Ubuntu中最好的代码编辑器 程序员都这么看吗?
- 目前市场上主流服务器厂商,目前市场上流行的串口服务器有哪些功能
- mysql存储过程是不是不能穿sql语句_mysql存储过程能不能直接执行拼接的sql语句...
- 浅谈auto与decltype函数的区别
- 卷积神经网络mnist手写数字识别代码_搭建经典LeNet5 CNN卷积神经网络对Mnist手写数字数据识别实例与注释讲解,准确率达到97%...
- isinstance和issubclass
- AttributeError: module 're' has no attribute 'sub'