Python练习(二) 4位数四则运算
2021/11/25 17:09:44
本文主要是介绍Python练习(二) 4位数四则运算,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
题目:在一个数的各个数字之间插入四则运算的运算符组成算式,
然后计算算式的结果(某些数位之间可以没有运算符,但整个表达式中最少要插入 1 个运算符)。
例如:
1234 -> 1+2×3-4 = 3
9876 -> 9×87+6 = 789
假设这里的条件是,组合算式的计算结果为“将原数字各个数位上的数逆序排列得到的数”,
并且算式的运算按照四则运算的顺序进行(先乘除,后加减)。
那么位于 100~999,符合条件的有以下几种情况。
351 -> 3×51 = 153
621 -> 6×21 = 126
886 -> 8×86 = 688
求:位于 1000~9999,满足上述条件的数。(出处:程序员的算法趣题)
直接上代码:欢迎交流,本人能力有限,有更快算法请分享。
"""***********************************""" import numpy as np import datetime def cal_fit_num(num): numstr=str(num) numstr_len=len(numstr) if numstr_len!=4: return "None" """需要的结果,有点特别的是,运算符只能是乘法连接才有机会满足题目要求""" numinv=int(numstr[::-1]) numstr=list(str(num)) """第一种情况;插入3个运算符""" resultnum1=int(numstr[0])*int(numstr[1])*int(numstr[2])*int(numstr[3]) if(numinv==resultnum1): return num """第二种情况;插入2个运算符""" resultnum21=int(numstr[0]+numstr[1])*int(numstr[2])*int(numstr[3]) if(numinv==resultnum21): return num resultnum22=int(numstr[0])*int(numstr[1]+numstr[2])*int(numstr[3]) if(numinv==resultnum22): return num resultnum23=int(numstr[0])*int(numstr[1])*int(numstr[2]+numstr[3]) if(numinv==resultnum23): return num """第三种情况;插入1个运算符""" resultnum31=int(numstr[0]+numstr[1]+numstr[2])*int(numstr[3]) if(numinv==resultnum31): return num resultnum32=int(numstr[3])*int((numstr[1]+numstr[2]+numstr[3])) if(numinv==resultnum32): return num return "None" print("******************************************") start = datetime.datetime.now() num=1000 allnum=[] while(num!=10000): rvalue= cal_fit_num(num) if(rvalue!="None"): allnum.append(rvalue) num=num+1 end=datetime.datetime.now() spendtime=end-start print("find allnum is:") print(allnum) print("find allnum in [1000,9999] Spend time:{}".format(spendtime))View Code
结果如下:
这篇关于Python练习(二) 4位数四则运算的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26Python基础编程
- 2024-11-25Python编程基础:变量与类型
- 2024-11-25Python编程基础与实践
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南