Python算24点代码,python24点代码,# 算24程序impor
文章由Byrx.net分享于2019-03-23 09:03:03
Python算24点代码,python24点代码,# 算24程序impor
# 算24程序import mathPRECISION = 1E-6COUNT_OF_NUMBER = 4NUMBER_TO_BE_CAL = 24g_number = [4, 4, 7, 7]g_expression = ['', '', '', '']for i in range(0, 4): g_expression[i] = "%d" % g_number[i]print(g_expression)def solve(n): if(1 == n): if(math.fabs(NUMBER_TO_BE_CAL - g_number[0]) < PRECISION): print(g_expression[0]) return True else: return False else: for i in range(0, n): for j in range(i+1, n): a = g_number[i] b = g_number[j] #********************************** # 将剩下的有效数字往前挪, # 由于两数计算结果保存在number[i]中, # 所以将数组末元素覆盖number[j]即可 # ******************************* g_number[j] = g_number[n - 1] expa = g_expression[i] expb = g_expression[j] g_expression[j] = g_expression[n - 1] # 计算a+b g_expression[i] = '(' + expa + '+' + expb + ')' g_number[i] = a + b if ( solve(n - 1) ) : return True; # 计算a-b g_expression[i] = '(' + expa + '-' + expb + ')' g_number[i] = a - b if ( solve(n - 1) ) : return True # 计算b-a g_expression[i] = '(' + expb + '-' + expa + ')' g_number[i] = b - a if ( solve(n - 1) ): return True # 计算(a*b) g_expression[i] = '(' + expa + '*' + expb + ')' g_number[i] = a * b if ( solve(n - 1) ): return True; # 计算(a/b) if (b != 0) : g_expression[i] = '(' + expa + '/' + expb + ')' g_number[i] = a / b if ( solve(n - 1) ) : return True # 计算(b/a) if (a != 0) : g_expression[i] = '(' + expb + '/' + expa + ')' g_number[i] = b / a if ( solve(n - 1) ): return True # 恢复现场 g_number[i] = a g_number[j] = b g_expression[i] = expa g_expression[j] = expb return Falseif(not solve(COUNT_OF_NUMBER)): print('no solution')#该片段来自于http://byrx.net
相关内容
- 字符串匹配算法:KMP,匹配算法kmp,#!/usr/bin/e
- Python发行包下的正则测试工具--NFA引擎,python--nfa,Pyth
- openstack swift client 开发初体验,openstackswift,第一次写p
- 用Python做Port Forwarding,pythonforwarding,import socke
- 非正则判断ip合法性,判断ip合法性,all(map(lamb
- python获得脚本的实际路径,python脚本路径,有时候脚本是
- 生成md5串,md5串,# tmd5.py
- 用Python生成目录树,Python生成目录树,# encoding:
- python获得磁盘剩余空间 statvfs,pythonstatvfs,[mps@mps-1 ~
- python 行数的代码,python行数代码,#! /usr/bin/
评论关闭