大数乘法python_大整数乘法python3实现
由于python具有无限精度的int类型,所以用python实现大整数乘法是没意义的,但是思想是一样的。利用的规律是:第一个数的第i位和第二个数大第j位相乘,一定累加到结果的第i+j位上,这里是从0位置开始算的。代码如下:
import sys
def list2str(li):
while li[0]==0:
del li[0]
res=''
for i in li:
res+=str(i)
return res
def multi(stra,strb):
aa=list(stra)
bb=list(strb)
lena=len(stra)
lenb=len(strb)
result=[0 for i in range(lena+lenb)]
for i in range(lena):
for j in range(lenb):
result[lena-i-1+lenb-j-1]+=int(aa[i])*int(bb[j])
for i in range(len(result)-1):
if result[i]>=10:
result[i+1]+=result[i]//10
result[i]=result[i]%10
return list2str(result[::-1])
if __name__=='__main__':
if len(sys.argv)!=3:
print('请输入两个参数')
exit()
a=sys.argv[1]
b=sys.argv[2]
res=multi(a,b)
print('multi',res)
print('ok',int(a)*int(b))
multi函数是大整数相乘的主函数,输入是字符串格式的两个大整数,输出是字符串格式的结果;list2str函数是把包含每一位数字的list转换成str,并把最高位占位用的0删除。输出结果如下:
multi后边跟的是用普通大整数思想计算的结果,ok后边跟的是python自己直接计算的相乘结果,用于对比结果。
大数乘法python_大整数乘法python3实现相关推荐
- Bailian2980 大整数乘法【大数】
2980:大整数乘法 总时间限制: 1000ms 内存限制: 65536kB 描述 求两个不超过200位的非负整数的积. 输入 有两行,每行是一个不超过200位的非负整数,没有多余的前导0. 输出 一 ...
- PYTHON:大整数乘法(分治法)
何为分治法: 分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同.求出子问题的解,就可得到原问题的解.即一种分目标完成程序算法,简单问题可用二分法 ...
- 分治法求解大整数乘法
算法导论课作业:分治法求解大整数乘法 – 学号:20204227058 求解思想 实现大整数乘法的方法有许多种,其中我们最简单的方法就是小学里面教的竖式算法,这种方法在计算过程中数AAA需要和数B ...
- 使用快速傅里叶变换计算大整数乘法-代码
在上一篇随笔"使用快速傅里叶变换计算大整数乘法"中,已经讲述了使用快速傅里叶变换计算大整数乘法的原理.在这一篇随笔中,我们就使用快速傅里叶变换来实现一个提供任意精度的算术运算的静态 ...
- 大整数乘法c语言代码_大整数乘法
大整数乘法和我们小学学过的乘法公式一样(如下图),就是按位相乘,两个数中的每一位彼此相乘,然后将相同列的结果加起来,最后统一处理进位即可. #include <iostream> #inc ...
- 信息学奥赛一本通 1307:【例1.3】高精度乘法 | 1174:大整数乘法 | OpenJudge NOI 1.13 09:大整数乘法
[题目链接] ybt 1307:[例1.3]高精度乘法 ybt 1174:大整数乘法 OpenJudge NOI 1.13 09:大整数乘法 [题目考点] 1. 高精度 考察:高精乘高精 高精度计算讲 ...
- 信息学奥赛一本通(1174:大整数乘法)
1174:大整数乘法 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 12480 通过数: 7002 [题目描述] 求两个不超过200位的非负整数的积. [ ...
- 大整数乘法--leetcode Multiply Strings
大整数乘法 本文转载自http://www.cnblogs.com/TenosDoIt/p/3735309.html 我们在日常的大整数计算中,通常是把它转化为字符型计算.这道题的思路就和我们小学计算 ...
- python两数相乘代码_Python 实现大整数乘法算法的示例代码
我们平时接触的长乘法,按位相乘,是一种时间复杂度为 O(n ^ 2) 的算法.今天,我们来介绍一种时间复杂度为 O (n ^ log 3) 的大整数乘法(log 表示以 2 为底的对数). 介绍原理 ...
最新文章
- MATLAB中函数模式和命令模式的区别
- fusioncharts相关问题
- 听得我都激动了……喝死奥巴马,你怎么看?
- iOS开发-动画总结
- codeforces 1060b Maximum Sum of Digits(思维题)
- hash进阶:使用字符串hash乱搞的姿势
- insmod module 失败(skyeye + armlinux)
- Python自动化必会技能-Excel文件读取
- C#利用委托跨线程更新UI数据
- nginx 做代理转发 对文件上传下载有影响速度吗_少年: Nginx了解下
- Java面试必看的18个开源项目
- android google GMS服务包安装
- 新路由3鸡血版固件_新路由3 V1.1版本 刷lean源码开源驱动2.4G无线测试(EEPROM重新调试了)...
- IIS 发布网站无法显示图片
- (附源码)spring boot火车订票系统 毕业设计 031012
- 调制深度(modulation depth)是什么?
- 早教产品微商怎么做精准引流?早教机构引流活动可以分为线上和线下两种
- 基于OpenAI的Chatbot开发记录
- 使用Saiku+Kylin构建多维分析OLAP平台
- C#利用Microsoft.Office.Interop.Excel导出excel文件
热门文章
- SaltStack 远程命令执行漏洞(CVE-2020-16846)
- linux无线网卡蓝牙连接不上,Linux如何解决英特尔无线网卡WiFi网速慢、WiFi蓝牙无法共存等问题...
- 【Exception】WIN10蓝屏:SYSTEM_SERVICE_EXCEPTION 蓝屏: KERNEL-SECURITY-CHECK-FAILUR WIN10 vmware启动CentOS 蓝屏
- Vue3 TS props传参报错TS2722: Cannot invoke an object which is possibly ‘undefined‘.
- python学习之RC4算法实现
- RC4算法原理、Java实现RC4加密算法、DES AES RC4算法比较
- sun的中文技术论坛
- 树莓派装ros-base 和 djiosdk 并用M100测试
- dynamic_cast
- 使用Python爬取多篇各类新闻文章