大整数乘法python3实现
整数,乘法,python3,实现
2025-03-28 09:01:09 时间
大家好,又见面了,我是你们的朋友全栈君。
由于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自己直接计算的相乘结果,用于对比结果。
转载请注明:转自http://blog.csdn.net/littlethunder/article/details/25215517
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/137099.html原文链接:https://javaforall.cn
相关文章
- pycharm安装python3.6_python安装教程
- tensorflow pycharm教程_tensorflow支持python3.8吗
- pycharm怎么设置编码格式_python3设置编码为utf8
- python3获取Elasticsearch数据库数据
- pycharm中tensorflow配置环境_python3.6安装tensorflow
- pycharm安装python3.6_python3.8怎么安装
- centos安装python3详细教程[通俗易懂]
- win10系统下pycharm2017配置opencv-python3.4.5[通俗易懂]
- pycharm安装dlib失败_python3.8.0安装教程
- 翻身了?Python3.11性能测评超3.10近64%
- 无法安装python3的连续报错-mysql include软链接问题
- python3.x默认使用UTF-8编码_pycharm怎么debug
- python3.7如何安装numpy库_python升级后第三方库
- Python3对多股票的投资组合进行分析「建议收藏」
- Vmware安装Ubuntu16.4、Ubuntu里安装python3.9、Ubuntu安装PyCharm的过程及出现的问题的解决[通俗易懂]
- python3 软连接_python3哪个版本好用
- pycharm怎么安装requests模块_python3安装模块
- pycharm如何创建新项目_Python3
- python3.4的pygame安装
- centos 安装python3导致yum报错