牛客 大整数相乘

  • 问题描述
    有两个用字符串表示的非常大的大整数,算出他们的乘积,也是用字符串表示。不能用系统自带的大整数类型。

  • 输入描述
    空格分隔的两个字符串,代表输入的两个大整数

  • 输出描述
    输入的乘积,用字符串表示

  • 示例
    如图所示

# -*- coding: utf-8 -*-
"""
Created on Sat Apr 13 11:21:12 2019
@author: alan1
"""
#方法一
a,b = input().split()
res = [0]*(len(a)+len(b))
for i in range(len(a)-1, -1, -1):
    x = ord(a[i])-ord('0')
    for j in range(len(b)-1, -1, -1 ):
        y = ord(b[j])-ord('0')
        res[i+j]+=int((res[i+j+1]+x*y)/10)
        res[i+j+1]=(res[i+j+1]+x*y)%10

for i in range(len(res)):
    #去除首位不必要的0
    if i==0 and res[i]==0:
        continue
    print(res[i], end='')
    
#方法二, python无赖法() Python支持“无限精度”的整数,一般情况下不用考虑整数溢出的问题。
a,b = input().split()
print(a*b)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值