当前位置: 首页 > news >正文

四川 网站建设番禺网站建设

四川 网站建设,番禺网站建设,广西建设厅官网证件查询,盐城seo推广文章目录题目相关链接算法代码代码可优化的点喜欢这种搞逻辑的题目。据说chatGPT暂时还不会写hhh。水平有限#xff0c;我自己花了两个小时才实现#xff0c;不过解决问题的过程还是很快乐的。题目 一天#xff0c;鬼谷子随意从2-99中选取了两个数。他把这两个数的和告诉了… 文章目录题目相关链接算法代码代码可优化的点喜欢这种搞逻辑的题目。据说chatGPT暂时还不会写hhh。水平有限我自己花了两个小时才实现不过解决问题的过程还是很快乐的。题目 一天鬼谷子随意从2-99中选取了两个数。他把这两个数的和告诉了庞涓把这两个数的乘积告诉了孙膑但孙膑和庞涓彼此不知到对方得到的数。 第二天庞涓很有自信的对孙膑说虽然我不知到这两个数是什麽但我知道你一定也不知道。 随后孙膑说那我知道了。 过一会儿庞涓说那我也知道了。 这两个数是多少 答案413 相关链接 针对题目的解题思路和逻辑分析都已经有了这里引用一下。 我没有仔细看所以也和我代码的思路可能存在出入。 https://baike.baidu.com/item/%E9%AC%BC%E8%B0%B7%E5%AD%90%E9%97%AE%E5%BE%92/7164919 https://www.cnblogs.com/devymex/p/3329635.html 算法代码 import numpy as npLOWER_BOUND 2 UPPER_BOUND 99def sum_decompose(num):# decompose a number into two numbers in [2,99]list []for i in range(LOWER_BOUND, (num-1)//21):if (num-i) UPPER_BOUND:list.append((i, num-i))return listdef product_decompose(num):list []for i in range(LOWER_BOUND, UPPER_BOUND):if np.mod(num, i) 0 and (num//i UPPER_BOUND):list.append((i, num//i))if i*i num:breakreturn list# print(fsum_decompose:{sum_decompose(105)}) # print(fproduct_decompose:{product_decompose(105)})ans_sum np.ones(200) # Elimination method for i in range(LOWER_BOUND, UPPER_BOUND):for j in range(i1, UPPER_BOUND1):num_Pan ijnum_Sun i*jif ans_sum[num_Pan] 0:continue# Pan dont know:list sum_decompose(num_Pan)if len(list) 1:ans_sum[num_Pan] 0continue# Pan know Sun dont know:for pair in list:num1, num2 pairproduct num1*num2result product_decompose(product)if len(result) 1:ans_sum[num_Pan] 0continue# After that, Sun know: ans_product np.zeros(UPPER_BOUND*UPPER_BOUND, dtypeint) for i in range(2*LOWER_BOUND1, UPPER_BOUND1):if ans_sum[i] 1:list sum_decompose(i)for pair in list:num1, num2 pairans_product[num1*num2] 1# Only when the solution is uniquethe condition can be satisfied for i in range(2*LOWER_BOUND1, UPPER_BOUND1):if ans_sum[i] 1:list sum_decompose(i)pair_num len(list)# print(f{i}:{len(list)})for pair in list:# print(ans_product[num1*num2])num1, num2 pairif ans_product[num1*num2] 2:pair_num - 1if pair_num 1:# print(f\n#########\nans:{i}\n#########)for pair in list:num1, num2 pairif ans_product[num1*num2] 1:print(fnum1{num1},num2{num2}) 代码可优化的点 随手一写基本可以体现我的编程/调试习惯。 但是写代码就要考虑代码质量。 批判性地对自己的代码提几点意见 sum_decompose 函数的计算复杂度不低且被重复调用可以额外开辟空间记录。ans_product 、ans_sum 记录的效率偏低用字典可以节约空间。变量命名偏随意函数复用率较低。入口最好是if __name__ __main__:。函数输入输出的变量类型未定义。计算过程、打印结果 混合在了一起未作明显区分。 随手写的代码计算得到正确答案413后我就不想继续修改了。 当UPPERBOUND变得更大变成了500运行了一下求解速度明显变慢此时多了一组解461) 。 直觉地看解的数量可能没有限制随着可选数的上界增加而缓慢增加。 如果代码还有其他问题欢迎大家指出。
http://www.dnsts.com.cn/news/178791.html

相关文章:

  • dw做网站步骤一人可以申请两个营业执照吗
  • 白云企业网站建设百度站长平台链接提交
  • 自动做网站设计公司logo最重要的是什么
  • 道客网站建设推广制作相册软件
  • 中文网站建设方案佛山服务类网站建设
  • 商城网站建设 优帮云做网站推广前途
  • 家纺公司网站模版小学校园门户网站建设方案
  • 建筑网站翻译编辑怎么做兼职类网站吗
  • 重庆网站推广营销代理视频一页网站怎么做
  • 做百度移动网站排名百度新闻官网
  • 网站建设求职简历模板广州的互联网公司
  • 公会网站建设wordpress放视频教程
  • 单位门户网站是什么意思做车身拉花的网站
  • 网站有很多304状态码搬瓦工快照恢复wordpress
  • 深圳做地铁的公司网站aso优化师主要是干嘛的
  • 优秀seo网站wordpress英文主题变中文版
  • wordpress网站从零seo海外推广
  • 苏州网站建设的一般流程个人网页设计代码模板
  • 门户网站建设安全管理制度手机响应式网站建设公司
  • 中国十大流量网站永康做网站
  • 上海闵行网站制作公司wordpress婚庆模板下载
  • 大型网站建设公司制作网站拼客多网站多少钱可以做
  • 北京做网站推广多少钱飞数石家庄网站建设
  • 德州做网站的wordpress会员发布文章
  • 焦作网站建设费用中国新闻社官网招聘
  • 网站制作者免费引流软件下载
  • 青岛做企业网站重庆地区专业做网站的公司
  • html链接网站模板友点企业网站模板下载
  • 门户网站网页设计柳州建设网官网
  • 沧州网站制作营销网站建设选择原则