Python大数运算的问题

来源:百度知道 编辑:UC知道 时间:2024/06/14 00:39:17
要求是不用加号和乘号写出整数的加法和乘法。。因为整数,所以可正可负。。请问怎么写才能用list来实现?
谢谢!!
举个例子,2个数字,1234567 和 7654321,把这俩弄成list[1,2,3,4,5,6,7]和[7,6,5,4,3,2,1]..然后用list来算着两个数字的和,还有积。。。
变成list之后就可以使用加号和乘号了。。因为我要做的是确保不会溢出。。所以才会降低到个位数的运算。。。
回三楼,只是研究算法。。。没办法,作业就这么要求的。。

不知道是不是这个意思,

def MySum(_list):
if type(_list)==list:
return sum(_list)
return None

def MyMul(_list):
if type(_list)==list:
return reduce(lambda x,y:x*y,_list)
return None

print MySum([1,2,3,4]) #=>1+2+3+4=10
print MyMul([1,2,3,4]) #=>1*2*3*4=24

搂主的意思是为了不溢出而要自己实现整数的基本运算

其实楼主小看python了,python内的整数运算就是自己实现的算法,而不是计算机的基本数据类型。

你可以试试99**99(99的99次方),结果为128位十进制数。
128位还不够? 再试试999**999(999的999次方),结果为2997位十进制数。
9999**9999结果为39996位十进制数

如果楼主是为了研究算法,而不是要使用该功能,权当偶没说

问一下,变成List之后是否还有不可以使用+*号的限制呢?