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

建站之星模板的使用商务网站建设的一般流程图

建站之星模板的使用,商务网站建设的一般流程图,福田网页设计,网乐科技网站建设文章目录固定个数的砝码可称量重量砝码的组合方法40镑砝码的组合问 一个商人有一个40磅的砝码,由于跌落在地而碎成4块。后来,称得每块碎片的重量都是整磅数,而且可以用这4 块来称从1 至40 磅之间的任意整数磅的重物。问这4 块砝码片各重多少&…

文章目录

    • 固定个数的砝码可称量重量
    • 砝码的组合方法
    • 40镑砝码的组合

一个商人有一个40磅的砝码,由于跌落在地而碎成4块。后来,称得每块碎片的重量都是整磅数,而且可以用这4 块来称从1 至40 磅之间的任意整数磅的重物。问这4 块砝码片各重多少?

这道题看上去其实不太靠谱,毕竟要用4个数组合出40种情况,看上去还是有些吃力的。因为,四个数的组合至多有C41+C42+C43+C44=17C_4^1+C_4^2+C_4^3+C_4^4=17C41+C42+C43+C44=17种情况。

考虑到用天平秤东西时,砝码可以放在天平两侧,这意味着两个砝码有2种称法;3个砝码最多有4种称法;4个砝码最多有6种称法,这样一来总共有46种称法,看来是合理的。

接下来考虑,将40拆分成4个数,共有多少种可能性,如果不删除重复,那就是40×39×38×3740\times39\times38\times3740×39×38×37

这样一来,这个问题的规模也就出来了,大概在40540^5405量级,直接暴力搜解就OK。

固定个数的砝码可称量重量

首先,创建一个函数,输入不同重量的砝码,然后得到可以称量的所有重量

from itertools import permutations
# 可以称出的所有重量
def allWeight(lst):ws = []N = len(lst)//2+1for L in permutations(lst):for i in range(N):w = abs(sum(L[:i])-sum(L[i:]))if w==0: continuews.append(w)return set(ws)

随便拿几个数组测试一下

>>> allWeight([1,2])
{1, 3}
>>> allWeight([1,2,3])
{2, 4, 6}
>>> allWeight([1,2,3,4])
{2, 4, 6, 8, 10}

以1,2,3为例,1+2+3=6;1+3-2=2;2+3-1=4,故可称量2,4,6三种重量。

砝码的组合方法

接下来,考虑到可以用[1,2,3,4]中任意组合所能称出的所有重量,其方法在allWeight的基础上,需要加一个抽选的功能

import numpy as np
def allSubSet(lst):lst = np.array(lst)N = len(lst)subSet = []for i in product(*([[0,1]]*N)):if np.sum(i)==0:continuesubSet.append(lst[np.array(i)==1])return subSet

接下来测试一下

>>> allSubSet([1,2,3])
[array([3]), array([2]), array([2, 3]), array([1]), array([1, 3]), array([1, 2]), array([1, 2, 3])]

40镑砝码的组合

题意要求40磅的砝码摔成了整数个,这个当然也能用组合来做,而且可以非常暴力,只需暴力搜索4个小于40个值,和为40就可以了。

parts = []
L40 = list(range(40))
for i in product(*([L40]*4)):if sum(i) == 40:parts.append(i)

最后得到总共有12337种组合。

最后,再对这12337种组合筛选就完事儿了

WS = set(range(1,41))
for L in parts:subLs = allSubSet(L)ws = set()for sub in subLs:ws.update(allWeight(sub))if ws == WS:print(sub)

最后输出了24个结果,无一列外都是[1,3,7,29],这说明这个暴力穷举还是很低效的,可以考虑优化一下,速度能提高24倍。

http://www.yayakq.cn/news/435710/

相关文章:

  • 公益广告 公司网站建设中...网站开发为什么要用框架
  • 选择一个域名进行网站建设wordpress漂亮破解主题
  • vps如何做网站步骤网络公司注册流程
  • phicomm怎么做网站湛江网站建设的详细过程
  • 5网站建设wordpress插件之家
  • 淘宝客网站建设教程东莞网站排名优化费用
  • 邯郸建设网站网站制作的困难和解决方案
  • 做网站成功的企业泉州商城网站开发设计
  • 家居品牌网站建设现在个人做网站或者app还有收益
  • 企业做网站域名需要自己申请吗移动网站 图片优化
  • 做外贸服饰哪个个网站好如何 申请个人网站
  • 打开网站notfound做网站服务器和域名
  • 互诺科技做网站怎么样校园兼职网站开发用例图
  • 如何建网站免费wordpress movie
  • 建设总承包网站河北君卓展览装饰有限公司
  • 网站建设指南网站建设知名公司排名
  • 手游做网站推广应该怎么做怎样做有趣的视频网站
  • 云指网站开发安卓 wordpress 源码
  • 网站建设是如何称呼的找人做网站设计 哪个平台可以找
  • 网站开发毕设题目iis做的网站为啥打不开
  • 自助建站平台设计器网站备案有幕布
  • 小型手机网站建设推荐小程序自助建站
  • 河南卫生基层系统网站建设东莞网站网站建设
  • dede title 我的网站刚做的网站为什么百度搜不到
  • 十大免费自助建站音乐网站毕业设计代码
  • 做知乎网站社区要多少钱素材网大全
  • 大连优化公司wordpress 优化
  • 网站建设教程ppt淘客导购网站怎么做
  • 如何建立公司网站是什么鹤壁市城乡一体化示范区邮编
  • 美食攻略网站建设课程设计邯郸网站建设 安联网络公司