组成新数python_大数相加 简单实现 Python 版本
上一次写这种类型的题目 应该还是在读书的时候啦
今天偶然同学问一段python代码是啥意思 看了看 有点长
运行一下 像是大数相加 然后突然个想法 想试下 就写了一小段代码 运行了一下发现结果一样 应该行得通 记录一下
就是将2个数组 每个数组对应的位置的数字相加+新数组当前位置的值(默认是0)
放到新的数组对应的位置 如果大于0新数组前一位变成1 当前位置%10
代码如下
import time
L1="2649821731631836529481632803462831616487712734074314936141303241873417434716340124362304724324324324324323412121323164329751831"
L2="1045091731748365195814509145981509438583247509149821493213241431431319999999999999999999999999999999999999999999999999341344779"
startTime=time.time()
#长度强行扭转到一致 不够前面补0
max_len= len(L1) if len(L1)>len(L2) else len(L2)
l1=L1.zfill(max_len)
l2=L2.zfill(max_len)
a1=list(l1)
a2=list(l2)
#长度一致 每个对应的位置的相加的和 %10 前一位补1 如果>10 否则0 99+99最大3位所以多一位
a3=[0]*(max_len+1)
for index in range(max_len-1,-1,-1):
index_sum=a3[index+1]+int(a1[index])+int(a2[index])
less=index_sum-10
a3[index+1]=index_sum%10
a3[index]=1 if less>=0 else 0
if(a3[0]==0):
a3.pop(0)
a33=[str(i) for i in a3]
print(''.join(a33))
print('耗时{0}ms'.format(time.time()-startTime))
组成新数python_大数相加 简单实现 Python 版本相关推荐
- 组成新数python_小组组名大全
小组组名大全 小组怎么起一个好听的小组名字呢?找个好听的名字代替一个组,下面是下面是小编整理的小组组名大全,快来看看吧! 1.快乐小组:快乐每一天. 2.出奇小组:出乎意料其思妙想. 3.迎迎小组:迎 ...
- 回文数python_回文数 python
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 所谓回文字符串,就是正读和反读都一样的字符串,比如"level&quo ...
- 大数相乘、大数相加、大数相减Java版本
为什么80%的码农都做不了架构师?>>> 题目:两个非常大的数字相乘(相加,相减) 该题目在java中可以使用BigInteger类中的方法来实现.否则的话可以使用如下方式来实 ...
- js浮点数/大数相加
1. 浮点数相加 console.log(0.1 + 0.2); //0.30000000000000004 console.log(0.1 + 0.2 === 0.3); //false 原因在于 ...
- ObjC 实现的大数相加,大数相乘和n的阶乘
转自:http://www.th7.cn/Program/IOS/201211/113566.shtml 突然有人问你100!结果有几个零.其实这也是个口算题目了..0乘任何数都为0,5乘偶数也有0, ...
- c语言用编译器求两个整数之和的代码,使用OC语言编撰两个超大数相乘或相加的算法的思路和超大正整数相乘的代码...
使用OC语言编写两个超大数相乘或相加的算法的思路和超大正整数相乘的代码 正文: 在编程中,无论是OC还是C亦或是C++语言,所声明的整数变量都会在内存中占有固定的存储空间,而这些存储空间都是固定的. ...
- PHP输入123逆序输出321,编写程序,将一个三位数逆序输出,比如,原三位数为123,新数为321....
编写一个程序,输入一个三位数,把这个数的百位数与个位数对调,输出对调后的数 参考:http://hi.baidu.com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item/5522 ...
- javascript乘法和加法_JavaScript大数相加相乘的实现方法实例
前言 JavaScript 中的最大安全整数是 2 ^{53} – 1 ,即 9007199254740991,当我们进行超出这个范围的数值计算的时候就无法得到精确的值,而是一个近似值,比如我们计算 ...
- hdu A + B Problem II(大数相加,数组实现)
hdu A + B Problem II(大数相加,数组实现) 题目走起 注意最后一个case 不需要换行 下面代码 #include<stdio.h> #include<strin ...
最新文章
- Docker 网络不通的解决方法
- css 横线_CSS-画一个太极阴阳图
- 《HiBlogs》重写笔记[1]--从DbContext到依赖注入再到自动注入
- Win7下快速预览各种类型的文本文件
- 在实际使用中 mysql所支持的触发器有_2016计算机二级MySQL冲刺题及答案
- 突破100万年薪《多线程服务器端架构》
- mysql 即学a又学b_MySQL学习第一天
- 修改软件许可证使用时间_阮一峰:为什么开源数据库改变许可证?
- logback-spring.xml 文件路径 相对路径_Web前端必会知识点:VUE路径问题解析-Web前端教程...
- 人工智能及其体系结构_一些复制体系结构错误及其解决方案
- Python 学习线路图,码住!
- 浅析MySQL中exists与in的使用
- 表格不换行_Excel表格如何强制换行?8个Excel实用小技巧,帮助你解放双手
- .Net 下的Wondows窗体常用项目
- Javascript基础ppt
- idea 报@Override is not allowed when implementing interface method的问题解决
- 【BP-GA】基于GA的BP神经网络优化算法
- 免费的虚拟主机 000webhost
- 计算机科学中atm是什么,计算机专业知识:ATM网络基本原理
- 【信息技术学考】2021年深圳市高中学业水平考试卷(解析版)