博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
大数相加
阅读量:6993 次
发布时间:2019-06-27

本文共 984 字,大约阅读时间需要 3 分钟。

  hot3.png

思路:将两个大数分类按位放进两个数组中,以最长的字符串为准不足的补 0 ,然后按位相加,之后反序遍历结果数组,如果需要进位,则当前位数据对 10 求余数,然后向前进一位  。

代码实现如下:

def big_num_add():    s1 = raw_input("please enter a number:")    s2 = raw_input("please enter another number:")    s1_arr = []    s2_arr = []    # 数组对齐空位补0    if len(s1) > len(s2):        for i in range(0, len(s1)-len(s2)):            s2_arr.append(0)    if len(s2) > len(s1):        for i in range(0, len(s2)-len(s1)):            s1_arr.append(0)    for i, j in zip(s1, s2):        s1_arr.append(int(i))        s2_arr.append(int(j))    # 按位相加    for index, _ in enumerate(s1_arr):        s1_arr[index] = s1_arr[index]+s2_arr[index]    s1_arr.reverse()    for index, value in enumerate(s1_arr):        if value >= 10:            if ((index+1) < len(s1_arr)):                s1_arr[index+1] += 1                s1_arr[index] = value % 10    s1_arr.reverse()    result_str = ""    for i in s1_arr:        result_str += str(i)    print result_str

 

转载于:https://my.oschina.net/zhxx/blog/3038778

你可能感兴趣的文章
[摘记]-linux-yum
查看>>
C++多线程编程——线程的挂起、唤醒与终止
查看>>
mac系统 查看隐藏的文件夹 设置文件夹隐藏和取消隐藏(转载)
查看>>
Android GridView布局设置
查看>>
我的友情链接
查看>>
APACHE 2.2.15+TOMCAT6.0.26配置负载均衡
查看>>
jquery常用的插件1000收集
查看>>
【日常记录】遍历菜单信息--前端页面
查看>>
好想拥抱你
查看>>
Linux学习之CentOS(十四)--初识ssh
查看>>
苹果正招募技术人员和设计师 想重振iWork雄风
查看>>
敏捷测试的思考和新发展
查看>>
尽量少的在.h中实现函数
查看>>
中小型企业怎样管理员工,调动员工的积极性?
查看>>
MATLAB 截取有目标物体算法
查看>>
ffmpeg 安装配置
查看>>
Oracle 硬解析与软解析
查看>>
Java高并发异步Socket编程
查看>>
创建主键的三种方法
查看>>
流程图控制
查看>>