Chinaunix首页 | 论坛 | 博客
  • 博客访问: 23196
  • 博文数量: 5
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 62
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-29 22:52
文章分类
文章存档

2014年(5)

我的朋友
最近访客

分类: Python/Ruby

2014-09-23 22:13:20

今天在微信上推送一道题如下。
题目:1,2,3,4,5,6,7,8,9 九个数按照顺序构成一个等式,结果=100
          用1,2,3,4,5,6,7,8,9九个数按照顺序构成一个等式,结果为100,运算符随便用,数字可拼接(比如234),但必须保持1-9的顺序不能乱

很有兴趣,尝试了下,不怎么难。
发现如果题目改成
题目:1,2,3,4,5,6,7,8,9 九个数按照顺序构成一个等式,结果=100
          用1,2,3,4,5,6,7,8,9九个数按照顺序构成一个等式,结果为100,运算符随便用,数字可拼接(比如234),但必须保持1-9的顺序不能乱。
          求最多有多少组解?求花费最少的时间求出最多组解?


2014.9.23
如果按照我所出的题目来算,这题目就非常有意思了。
抛砖引玉:

  1. import time
  2. a = ['1','2','3','4','5','6','7','8','9']
  3. b = ['+','-','*','/','%','&','^','|','','(',')']
  4. start = time.time()
  5. l = []
  6. s = ''
  7. count = 0
  8. sum = 0
  9. no = 0
  10. for a1 in b:
  11.     for a2 in b:
  12.         for a3 in b:
  13.             for a4 in b:
  14.                 for a5 in b:
  15.                     for a6 in b:
  16.                         for a7 in b:
  17.                             for a8 in b:
  18.                                 try:
  19.                                     s = '1'+a1+'2'+a2+'3'+a3+'4'+a4+'5'+a5+'6'+a6+'7'+a7+'8'+a8+'9'
  20.                                     if count % 100000 == 0:
  21.                                         print count
  22.                                         print sum
  23.                                         print '------------'
  24.                                     if eval(s) == 100:
  25.                                         #print s+'=100'
  26.                                         sum += 1
  27.                                     count += 1
  28.                                 except:
  29.                                     no += 1
  30. print count
  31. print sum
  32. print no
  33. print time.time() - start
欢迎大家来尝试,讨论
提供下大体的方向。
1,生成字符串的算法
2,多线程调用
3,等等


2014.9.24
判断类型如下

  1. if ')' not in a1 and '(' not in a8 and len(t_re.findall(s))%2 == 0:
------------
65200000
18143218
0.278270214724
4495
670.164999962
------------



阅读(1621) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~