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

关于货物物品横竖摆放的问题

货车内宽是2.4米。考虑到最多装载,长宽130×100的货品,应该横竖摆放。

横竖摆放的数量如何自动计算呢?

采用数学公式,计算如下:

横向摆放数=(int)(横长+竖高)*数量/4/横长

竖向摆放数=数量-横向摆放数

结果如下:

横长130160
竖宽10080
公式横向摆放数=(int)(横长+竖高)*数量/4/横长
数量横向摆放竖向摆放横向摆放竖向摆放
10.44230810.3751
20.88461520.752
31.32692321.1252
41.76923131.53
52.21153831.8754
62.65384642.254
73.09615442.6255
83.538462535
93.98076963.3756
104.42307763.757
114.86538574.1257
125.30769274.58
135.7584.8759
146.19230885.259
156.63461595.62510
167.0769239610
177.519231106.37511
187.961538116.7512
198.403846117.12512
208.846154127.513

非常不理想!!

困惑三天,想的解决方法如下(计算两行货物长度最小值):

    struct HangGeshu
    {
        public int hang1ge, hang2ge;
    }
       private HangGeshu getHengshuShuliang(int heng,int shu,int shuliang,Boolean youxianheng)
        {
            HangGeshu hangGeshu = new HangGeshu();
            if (shuliang > 1)
            {
                hangGeshu.hang1ge = shuliang / 2;
                if (youxianheng)
                {
                    hangGeshu.hang1ge++;
                }
                else
                {
                    hangGeshu.hang1ge--;
                }
                hangGeshu.hang2ge = shuliang - hangGeshu.hang1ge;
                //货物横竖摆放,目标长度差值最小 (1 横放 2 竖放)
                int cha0 = Math.Abs(hangGeshu.hang1ge * heng - hangGeshu.hang2ge * shu);
                int chaold = cha0;
                Boolean key = true;
                while (key)
                {
                    cha0 = Math.Abs((hangGeshu.hang1ge-1) * heng - (hangGeshu.hang2ge+1) * shu);
                    if (cha0 < chaold)
                    {
                        chaold = cha0;
                        hangGeshu.hang1ge--;
                        hangGeshu.hang2ge++;
                    }
                    else
                    {
                        key = false;
                    }
                }
                key = true;
                while (key)
                {
                    cha0 = Math.Abs((hangGeshu.hang1ge + 1) * heng - (hangGeshu.hang2ge - 1) * shu);
                    if (cha0 < chaold)
                    {
                        chaold = cha0;
                        hangGeshu.hang1ge++;
                        hangGeshu.hang2ge--;
                    }
                    else
                    {
                        key = false;
                    }
                }
            }
            else
            {
                if (youxianheng)
                {
                    hangGeshu.hang1ge = 1;
                    hangGeshu.hang2ge = 0;
                }
                else
                {
                    hangGeshu.hang1ge = 0;
                    hangGeshu.hang2ge = 1;
                }
            }
            return hangGeshu;
        }
 

相关文章:

关于货物物品横竖摆放的问题

货车内宽是2.4米。考虑到最多装载&#xff0c;长宽130100的货品&#xff0c;应该横竖摆放。 横竖摆放的数量如何自动计算呢&#xff1f; 采用数学公式&#xff0c;计算如下&#xff1a; 横向摆放数(int)(横长竖高)*数量/4/横长 竖向摆放数数量-横向摆放数 结果如下&#x…...

人员定位需求多,场景目标各不同

GPS技术为现代人带来了许多便利&#xff0c;也提供了诸多基于位置的新型服务。随着科技的发展&#xff0c;人员位置信息在如今的生产生活中也越发重要起来。因此&#xff0c;不同行业领域开始关注人员定位&#xff0c;尤其关注室内人员定位。室内人员定位需求从目的性出发&…...

怎么解决首屏加载速度过慢的问题

怎么解决首屏加载速度过慢的问题首屏加载速度指的是什么&#xff1f;解决方法首屏加载速度指的是什么&#xff1f; 首屏加载速度指的是浏览器从响应用户输入网站地址到首屏内容渲染完成的时间。值得注意的是此时整个网页不一定要全部渲染完成&#xff0c;只需展示当前视窗所需要…...

3d视觉相关论文阅读目录汇总

目录3d视觉综述论文 Deep Learning for 3D Point Clouds: A Survey 基础概念 3d目标检测常见基础概念 3d目标检测 & 自动驾驶 数据集 3d目标检测数据集介绍&#xff08;数据格式&#xff0c;保存形式&#xff0c;适配算法库等&#xff09; KITTI数据集 Waymo数据集 nu…...

最简单的计算机视觉

百度为大家提供了计算机视觉模型。能够识别图像中的相关物体。 给大家介绍计算机视觉工具&#xff0c;EasyDL是能够识别物体&#xff0c;图像分类的工具&#xff0c;可以在线&#xff0c;也可以本地下载&#xff0c;本地下载大概1.5G。 图像识别真实距离。 图片真实距离/物体…...

泛微采知连,为组织提供安全、合规、智能的数字化文控系统

作为市场主体&#xff0c;企业需要建立健全的质量管理体系&#xff0c;并且及时更新&#xff0c;以应对激烈的市场竞争&#xff0c;实现企业可持续发展。 质量体系在很大程度上通过文件化的形式表现出来。《质量管理体系要求》(GB/T19001—2016/ISO9001&#xff1a;2015)标准指…...

Python if else对缩进的要求

前面的《Python if else》一节展示了选择结构的三种基本形式&#xff0c;并给出了实例演示&#xff0c;但是大家在编写代码过程中仍然要注意一些细节&#xff0c;尤其是代码块的缩进&#xff0c;这对 if else 选择结构极其重要。 Python 是以缩进来标记代码块的&#xff0c;代…...

java常用设计模式

java设计模式java设计模式类型常用设计模式单例模式单例模式的两种创建方式饿汉式单例懒汉式单例工厂模式简单工厂模式工厂方法模式抽象工厂模式原型模式代理模式代理模式结构静态代理动态代理jdk代理Cglib代理java设计模式类型 根据完成的工作类型设计模式分为创建型模式、结…...

死锁(5.1)

死锁 1 死锁的基本概念 1.1 死锁的定义 死锁是发生在一组相互合作或竞争的线程或进程中的一个问题。因此可以定义为&#xff1a;一组竞争系统资源或相互通信的进程相互的“永久”阻塞。若无外力作用&#xff0c;这组进程将永远不能继续执行。 1.2死锁产生的原因进程 &…...

Python 之 Matplotlib 第一个绘图程序和基本方法

文章目录一、第一个 Matplotlib 绘图程序1. Matplotlib 绘图的基本步骤二、Matplotlib 的基本方法1. 图表名称 plt.title()2. x 轴和 y 轴名称3. 设置 x 轴和 y 轴的刻度4. 显示图表 show()5. 图例 legend()6. 图例的图例位置设置7. 显示每条数据的值 x,y 值的位置一、第一个 M…...

数据结构与算法(一):概述

数据结构学了有一年左右的时间了&#xff0c;但是一直没有详细地总结一下&#xff0c;现在回想起来&#xff0c;感觉有些内容忘记了。所以接下来一段时间我将重新归纳总结一下&#xff0c;算是温故而知新了。 一、数据结构 1、定义 数据结构是计算机存储、组织数据的方式。在…...

Spring3之Bean的属性详解

简介 Spring 中大量使用到 Bean 的注入来实现各个模块之间的依赖&#xff0c;本章将详细介绍 Bean 的主要属性 id 和 name 属性 每个 Bean 可以有一个 id 属性&#xff0c;并可以根据该 id 在 IoC 容器中查找该 Bean&#xff0c;该 id 属性值必须在IoC 容器中唯一 可以不指定…...

C语言之结构体内存的计算

结构体的内存 一.提出疑问 结构体占用的是一片连续的内存空间&#xff0c;大小是由成员变量的类型决定的。但并不是计算所有成员变量的类型大小之和那么简单。 先举一个实例&#xff1a; struct student {int age; //4个字节int telephone; //4个字节 }; int main() {struc…...

Java网络编程之UDP和TCP套接字

文章目录一. 网络编程概述二. UDP网络编程1. UDP套接字2. UDP客户端回显服务器程序2.1 UDP回显服务器2.2 UDP客户端2.3 UDP实现查词典的服务器三. TCP网络编程1. TCP套接字2. TCP客户端回显服务器程序2.1 TCP回显服务器2.2 TCP客户端2.3 解决服务器无法同时出力多个客户端的问题…...

Linux进程信号产生以及捕捉

一.什么是信号 生活中&#xff0c;有哪些信号相关的场景呢&#xff0c;比如&#xff1a;红绿灯&#xff0c;闹钟&#xff0c;转向灯等等 1.这里我们要知道&#xff0c;你为什么认识这些信号呢&#xff0c;记住了对应场景下的信号&#xff0b;后续是有”动作“要你执行的 2.我们…...

11. GLSL(OpenGL Shader Language)常用知识点汇总

1. 说明&#xff1a; 在使用OPenGL进行三维模型渲染时&#xff0c;需要使用到两个着色器对模型进行位置设置和颜色设置&#xff0c;分别为顶点着色器和片段着色器&#xff0c;这两个着色器是使用 GLSL 语法进行编写的。这篇文章总结了一些GLSL中的一些基本语法知识。 2. 基本…...

转发一张网络工程师考试的试卷2021.5.15

网络工程师考试 单选题 &#xff08;30题&#xff0c;每题1分&#xff0c;共30分&#xff09; 1. 你在一个网络中实现DHCP服务&#xff0c;配置一些计算机成为DHCP客户端&#xff0c;由于工作需要&#xff0c;一台系统为Windows 10 的客户端要把从DHCP服务器获得的地址释放&a…...

AMD发布23.2.1 新驱动 支持开年新作《魔咒之地》

如果说2023年有什么新作&#xff0c;《魔咒之地&#xff08;Forspoken&#xff09;》当属开年大作之一&#xff0c;1月25日才在steam平台发售。虽然开售后的表现似乎不如想象中优秀&#xff0c;加之价格相对昂贵&#xff0c;令不少玩家望而却步&#xff0c;但如果只是想尝鲜&am…...

开放平台如何做接口的签名和加解密?

目录安全性功能介绍实现流程开放平台依赖代码AES加解密工具类PlatformConfigRequestUtilsPlatformServiceCommonCodeZuulFilterHelperServerResponsePlatformContactRsaSignatureRsaUtilsStreamUtil开放平台-解密过滤器开放平台-加密过滤器调用方代码公共代码Get-DemoPost-Demo…...

Mr. Cappuccino的第40杯咖啡——Kubernetes之Pod生命周期

Kubernetes之Pod生命周期Pod生命周期官方文档Pod的状态初始化容器案例钩子函数Exec命令TCPSocketHTTPGet案例容器探测Exec命令TCPSocketHTTPGet探测时间重启策略Pod生命周期官方文档 Pod生命周期官方文档 Pod的状态 pending&#xff1a;挂起&#xff0c;apiserver创建了pod资…...

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis&#xff1f;2.为什么要使用redis作为mysql的缓存&#xff1f;3.什么是缓存雪崩、缓存穿透、缓存击穿&#xff1f;3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解&#xff08;7大核心步骤实战技巧&#xff09; 一、爬虫完整工作流程 以下是爬虫开发的完整流程&#xff0c;我将结合具体技术点和实战经验展开说明&#xff1a; 1. 目标分析与前期准备 网站技术分析&#xff1a; 使用浏览器开发者工具&#xff08;F12&…...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

Linux 内存管理实战精讲:核心原理与面试常考点全解析

Linux 内存管理实战精讲&#xff1a;核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用&#xff0c;还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)

RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发&#xff0c;后来由Pivotal Software Inc.&#xff08;现为VMware子公司&#xff09;接管。RabbitMQ 是一个开源的消息代理和队列服务器&#xff0c;用 Erlang 语言编写。广泛应用于各种分布…...

Go语言多线程问题

打印零与奇偶数&#xff08;leetcode 1116&#xff09; 方法1&#xff1a;使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...

WPF八大法则:告别模态窗口卡顿

⚙️ 核心问题&#xff1a;阻塞式模态窗口的缺陷 原始代码中ShowDialog()会阻塞UI线程&#xff0c;导致后续逻辑无法执行&#xff1a; var result modalWindow.ShowDialog(); // 线程阻塞 ProcessResult(result); // 必须等待窗口关闭根本问题&#xff1a…...

SQL Server 触发器调用存储过程实现发送 HTTP 请求

文章目录 需求分析解决第 1 步:前置条件,启用 OLE 自动化方式 1:使用 SQL 实现启用 OLE 自动化方式 2:Sql Server 2005启动OLE自动化方式 3:Sql Server 2008启动OLE自动化第 2 步:创建存储过程第 3 步:创建触发器扩展 - 如何调试?第 1 步:登录 SQL Server 2008第 2 步…...