Love丶FFC's Blog

CCF-CSP_20190302:二十四点

2019-12-07 09:00:05
阅读:1292   •   评论:12
标签:,

编程语言:Python

解题思想:

1.暴力搜索法,对总计64种运算情况进行判断,写出4种情况,剩下的复制粘贴修改一下即可

2.注意有/的情况下取整和运算顺序

2019年12月9日更新:在网上搜索了一下,发现Python中有一个eval函数,可以直接对表达式求值,因此此题有非常简便的解法。

时间复杂度:O(n)

IDE代码如下:

  1. NOG = int(input()) # 输入游戏的个数
  2. for i in range(NOG):
  3. Formula = str(input())
  4. Result = 0
  5. Number1, Number2, Number3, Number4 = int(Formula[0]), int(Formula[2]), int(Formula[4]), int(Formula[6])
  6. Operator1, Operator2, Operator3 = Formula[1], Formula[3], Formula[5]
  7. if Operator1 == "+":
  8. if Operator2 == "+":
  9. if Operator3 == "+":
  10. Result = Number1 + Number2 + Number3 + Number4
  11. elif Operator3 == "-":
  12. Result = Number1 + Number2 + Number3 - Number4
  13. elif Operator3 == "x":
  14. Result = Number1 + Number2 + Number3 * Number4
  15. elif Operator3 == "/":
  16. Result = Number1 + Number2 + int(Number3 / Number4)
  17. elif Operator2 == "-":
  18. if Operator3 == "+":
  19. Result = Number1 + Number2 - Number3 + Number4
  20. elif Operator3 == "-":
  21. Result = Number1 + Number2 - Number3 - Number4
  22. elif Operator3 == "x":
  23. Result = Number1 + Number2 - Number3 * Number4
  24. elif Operator3 == "/":
  25. Result = Number1 + Number2 - int(Number3 / Number4)
  26. elif Operator2 == "x":
  27. if Operator3 == "+":
  28. Result = Number1 + Number2 * Number3 + Number4
  29. elif Operator3 == "-":
  30. Result = Number1 + Number2 * Number3 - Number4
  31. elif Operator3 == "x":
  32. Result = Number1 + Number2 * Number3 * Number4
  33. elif Operator3 == "/":
  34. Result = Number1 + int(Number2 * Number3 / Number4)
  35. elif Operator2 == "/":
  36. if Operator3 == "+":
  37. Result = Number1 + int(Number2 / Number3) + Number4
  38. elif Operator3 == "-":
  39. Result = Number1 + int(Number2 / Number3) - Number4
  40. elif Operator3 == "x":
  41. Result = Number1 + int(Number2 / Number3) * Number4
  42. elif Operator3 == "/":
  43. Result = Number1 + int(int(Number2 / Number3) / Number4)
  44. elif Operator1 == "-":
  45. if Operator2 == "+":
  46. if Operator3 == "+":
  47. Result = Number1 - Number2 + Number3 + Number4
  48. elif Operator3 == "-":
  49. Result = Number1 - Number2 + Number3 - Number4
  50. elif Operator3 == "x":
  51. Result = Number1 - Number2 + Number3 * Number4
  52. elif Operator3 == "/":
  53. Result = Number1 - Number2 + int(Number3 / Number4)
  54. elif Operator2 == "-":
  55. if Operator3 == "+":
  56. Result = Number1 - Number2 - Number3 + Number4
  57. elif Operator3 == "-":
  58. Result = Number1 - Number2 - Number3 - Number4
  59. elif Operator3 == "x":
  60. Result = Number1 - Number2 - Number3 * Number4
  61. elif Operator3 == "/":
  62. Result = Number1 - Number2 - int(Number3 / Number4)
  63. elif Operator2 == "x":
  64. if Operator3 == "+":
  65. Result = Number1 - Number2 * Number3 + Number4
  66. elif Operator3 == "-":
  67. Result = Number1 - Number2 * Number3 - Number4
  68. elif Operator3 == "x":
  69. Result = Number1 - Number2 * Number3 * Number4
  70. elif Operator3 == "/":
  71. Result = Number1 - int(Number2 * Number3 / Number4)
  72. elif Operator2 == "/":
  73. if Operator3 == "+":
  74. Result = Number1 - int(Number2 / Number3) + Number4
  75. elif Operator3 == "-":
  76. Result = Number1 - int(Number2 / Number3) - Number4
  77. elif Operator3 == "x":
  78. Result = Number1 - int(Number2 / Number3) * Number4
  79. elif Operator3 == "/":
  80. Result = Number1 - int(int(Number2 / Number3) / Number4)
  81. elif Operator1 == "x":
  82. if Operator2 == "+":
  83. if Operator3 == "+":
  84. Result = Number1 * Number2 + Number3 + Number4
  85. elif Operator3 == "-":
  86. Result = Number1 * Number2 + Number3 - Number4
  87. elif Operator3 == "x":
  88. Result = Number1 * Number2 + Number3 * Number4
  89. elif Operator3 == "/":
  90. Result = Number1 * Number2 + int(Number3 / Number4)
  91. elif Operator2 == "-":
  92. if Operator3 == "+":
  93. Result = Number1 * Number2 - Number3 + Number4
  94. elif Operator3 == "-":
  95. Result = Number1 * Number2 - Number3 - Number4
  96. elif Operator3 == "x":
  97. Result = Number1 * Number2 - Number3 * Number4
  98. elif Operator3 == "/":
  99. Result = Number1 * Number2 - int(Number3 / Number4)
  100. elif Operator2 == "x":
  101. if Operator3 == "+":
  102. Result = Number1 * Number2 * Number3 + Number4
  103. elif Operator3 == "-":
  104. Result = Number1 * Number2 * Number3 - Number4
  105. elif Operator3 == "x":
  106. Result = Number1 * Number2 * Number3 * Number4
  107. elif Operator3 == "/":
  108. Result = int(Number1 * Number2 * Number3 / Number4)
  109. elif Operator2 == "/":
  110. if Operator3 == "+":
  111. Result = int(Number1 * Number2 / Number3) + Number4
  112. elif Operator3 == "-":
  113. Result = int(Number1 * Number2 / Number3) - Number4
  114. elif Operator3 == "x":
  115. Result = int(Number1 * Number2 / Number3) * Number4
  116. elif Operator3 == "/":
  117. Result = int(int(Number1 * Number2 / Number3) / Number4)
  118. elif Operator1 == "/":
  119. if Operator2 == "+":
  120. if Operator3 == "+":
  121. Result = int(Number1 / Number2) + Number3 + Number4
  122. elif Operator3 == "-":
  123. Result = int(Number1 / Number2) + Number3 - Number4
  124. elif Operator3 == "x":
  125. Result = int(Number1 / Number2) + Number3 * Number4
  126. elif Operator3 == "/":
  127. Result = int(Number1 / Number2) + int(Number3 / Number4)
  128. elif Operator2 == "-":
  129. if Operator3 == "+":
  130. Result = int(Number1 / Number2) - Number3 + Number4
  131. elif Operator3 == "-":
  132. Result = int(Number1 / Number2) - Number3 - Number4
  133. elif Operator3 == "x":
  134. Result = int(Number1 / Number2) - Number3 * Number4
  135. elif Operator3 == "/":
  136. Result = int(Number1 / Number2) - int(Number3 / Number4)
  137. elif Operator2 == "x":
  138. if Operator3 == "+":
  139. Result = int(Number1 / Number2) * Number3 + Number4
  140. elif Operator3 == "-":
  141. Result = int(Number1 / Number2) * Number3 - Number4
  142. elif Operator3 == "x":
  143. Result = int(Number1 / Number2) * Number3 * Number4
  144. elif Operator3 == "/":
  145. Result = int(int(Number1 / Number2) * Number3 / Number4)
  146. elif Operator2 == "/":
  147. if Operator3 == "+":
  148. Result = int(int(Number1 / Number2) / Number3) + Number4
  149. elif Operator3 == "-":
  150. Result = int(int(Number1 / Number2) / Number3) - Number4
  151. elif Operator3 == "x":
  152. Result = int(int(Number1 / Number2) / Number3) * Number4
  153. elif Operator3 == "/":
  154. Result = int(int(int(Number1 / Number2) / Number3) / Number4)
  155. if Result == 24:
  156. print("Yes")
  157. else:
  158. print("No")

评论板

共有 12 条评论

  1. fruinly

    Some products are made odorless by aging the garlic, but this process can also make the garlic less effective cialis 5mg online

  2. engarma

    these would be ran with an ai as well can i buy priligy over the counter

  3. authentic cheap jordans

    Read reviews and was a little hesitant since I had already inputted my order. perhaps but thank god, I had no issues. for example the received item in a timely matter, they are in new condition. direction so happy I made the purchase. Will be definitely be purchasing again.
    authentic cheap jordans https://www.cheapretrojordan.com/

  4. cheap louis vuitton

    Read reviews and was a little hesitant since I had already inputted my order. or maybe a but thank god, I had no issues. similar to the received item in a timely matter, they are in new condition. anyway so happy I made the purchase. Will be definitely be purchasing again.
    cheap louis vuitton https://www.louisvuittonsoutletonline.com/

  5. cheap retro jordans

    Read reviews and was a little hesitant since I had already inputted my order. maybe but thank god, I had no issues. since the received item in a timely matter, they are in new condition. either way so happy I made the purchase. Will be definitely be purchasing again.
    cheap retro jordans https://www.realjordansretro.com/

  6. Preliaf

    Furthermore, weight loss by lifestyle modifications is associated with improvement in sexual function, measured by the International Index of Erectile Function 25 buy cialis

  7. Preliaf

    Cdks are cdc2 also known as cdkl homologous serine threonine kinase proteins that are able to utilise ATP as a substrate in the phosphorylation of diverse polypeptides in a sequence dependent context proscar shopping

  8. Cnjmft

    buy fenofibrate 200mg pill fenofibrate 200mg pill cost fenofibrate 200mg

  9. Ttpmux

    buy generic tadalafil order viagra 100mg online order sildenafil pill

  10. Ujewne

    zaditor order online sinequan us tofranil online order

  11. Razlku

    order generic mintop purchase minoxytop online where to buy otc ed pills

  12. Eiwise

    pill acarbose 50mg generic micronase 2.5mg griseofulvin cost

回复给 Preliaf 点击这里取消回复。

--------查看该分类下最新文章--------
^
新版博客正在完善中!域名:http://www.loveffc:8080,点击跳转,完全移植后将去除端口号。

Copyright © 2018 - 2021 FFC的小站 - 滇 ICP 备 18010780 号 - 1

- Powered by WordPress & AliYun · Theme by FFC -

- Environment by Windows & XAMPP · Designed by WebStorm & VSCode -

已运行:

访问量:415252