大整数乘法python3实现

大整数乘法python3实现由于python具有无限精度的int类型,所以用python实现大整数乘法是没意义的,但是思想是一样的。利用的规律是:第一个数的第i位和第二个数大第j位相乘,一定累加到结果的第i+j位上,这里是从0位置开始算的。代码如下:importsysdeflist2str(li): whileli[0]==0: delli[0] res=” foriinli: res+

大家好,又见面了,我是你们的朋友全栈君。

        由于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删除。输出结果如下:

大整数乘法python3实现

multi后边跟的是用普通大整数思想计算的结果,ok后边跟的是python自己直接计算的相乘结果,用于对比结果。

转载请注明:转自http://blog.csdn.net/littlethunder/article/details/25215517

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137099.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python利用cookie登录(python爬虫教程pdf)

    http://blog.csdn.net/pipisorry/article/details/47948065实战1:使用cookie登录哈工大ACM网站获取网站登录地址http://acm.hit.edu.cn/hoj/system/login查看要传送的post数据user和passwordCode:#!/usr/bin/envpython#-*-

    2022年4月17日
    47
  • C++中的空类默认包含哪些类成员函数

    C++中的空类默认包含哪些类成员函数

    2021年3月12日
    139
  • 计算机组成原理 寻址方式_计算机组成原理寻址方式的判断

    计算机组成原理 寻址方式_计算机组成原理寻址方式的判断一、寻址方式是指确定本条指令的数据地址以及下一条将要执行的指令地址的方法,与硬件结构紧密相关,而且直接影响指令格式和指令功能。分为指令寻址和数据寻址两大类。二、指令寻址分为顺序寻址和跳跃寻址两种。顺序寻址可通过程序计数器PC加1,自动形成下一条指令的地址;跳跃寻址则通过转移类指令实现。数据寻址种类较多,在指令字中必须设一字段来指明属于哪一种寻址方式。指令的地址码字段通常都不代表操作数的真实地址,把它称为真实地址,记作A。操作数的真实地址成为有效地址,记作EA,它是由寻址方式和形式地址共同来确定的。由

    2025年8月4日
    6
  • 浙江python信息技术教材_人工智能、Python…浙江省三到九年级将使用信息技术新修订教材…

    浙江python信息技术教材_人工智能、Python…浙江省三到九年级将使用信息技术新修订教材…浙江省教研室相关负责人表示,目前根据现行的高中教材,对小学、初中的老教材进行了修订,新教材将于今年9月投入使用,最新的线上教师培训也刚刚结束。扣哒世界作为全球最大的中小学人工智能和Python代码编程教学平台,已经从2019年开始系统支持浙江省中小学人工智能和Python代码编程师资培训。根据浙江省最新的教材目录,从小学三年级一直到九年级,内容都有不同程度的调整。三年级新增了“信息社会”和“网络生…

    2022年5月16日
    36
  • 游戏php是什么文件夹,ldsgamemaster是什么文件夹

    游戏php是什么文件夹,ldsgamemaster是什么文件夹ldsgamemaster是鲁大师的游戏大师源文件;而源文件就业是用汇编语言或高级语言,写出来的代码保存为文件后的结果,目标文件是指源文件经过编译程序产生的,能被cpu直接识别的二进制文件。本教程操作环境:Windows7系统,鲁大师6.1021.3070.205版本,DellG3电脑。ldsgamemaster是鲁大师的游戏大师源文件。源文件是用汇编语言或高级语言,写出来的代码保存为文件后的…

    2022年6月12日
    52
  • Objective-C路成魔【11-多态性、动态类型和动态绑定】

    Objective-C路成魔【11-多态性、动态类型和动态绑定】

    2022年1月11日
    65

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号