当前位置: 首页 > 知识库问答 >
问题:

学渣求助一个简单的数学问题,我甚至连标题都想不出来,可能太简单了?

冯德宇
2024-06-26

我需要在一个固定大小的长方形里面摆放N个正方形

正方形必须边长一致,摆放完成后,要尽可能占满长方形内部的空间

如何计算出最佳的正方形边长?

image.png
image.png
好久没来提问了,我没做太多尝试,数学太差。

如果可以的话,希望有人顺便告诉我这是几年级的数学。

共有3个答案

穆子琪
2024-06-26

有个平凡解,1x1像素正方形平铺开,100%使用率 ;)

盖马鲁
2024-06-26

总觉得应该不是小学的题,这样实现感觉没啥问题。

屏幕截图 2024 06 23 235248
Java:

class HelloWorld {  public static void main(String[] args) {    System.out.println(calcSide(1024, 720, 220));  }  public static int calcSide(int width, int height, int len) {    int side;    int initCols = 1;    while (true) {      side = width / initCols;      int m = len % initCols;      int c = len / initCols;      if (c * side < (m != 0 ? side: m) + height) {        break;      }      initCols++;    }    return side;  }}

Js:

function calcSide(width, height, len) {    let side;    let initCols = 1;    while (true) {        side = width / initCols;        let m = len % initCols;        let c = len / initCols;        if (c * side < (m != 0 ? side : m) + height) {            break;        }        initCols++;    }    return side;}console.log(calcSide(1024, 720, 220))
应俭
2024-06-26

正方形的边长应该是长方形长和宽的最大公因数。

最大公因数相关知识应该是小学五年级的内容。


看错题目了。

如题意,在长为\(W\),宽为\(H\)的长方形中放置\(N\)个正方形,求正方形边长\(a\)的最大值。

即,求解不等式:

$$\lfloor \frac W a \rfloor \cdot\lfloor \frac H a \rfloor \ge N$$

使用二分法求解:

function calc_length(w: number, h: number, n: number) {    let l = 0,        r = Math.sqrt((w * h) / n)    while (r - l > Number.EPSILON) {        const m = (l + r) / 2        if (Math.floor(w / m) * Math.floor(h / m) >= n) l = m        else r = m    }    return l}
 类似资料:
  • 在这里,同一个时钟周期内,a被赋值的语句和c被赋值的语句的执行的先后顺序未必确定对不对? 我希望无论如何都是c<=a先执行,这样的话应该怎么写代码呢?我知道写在一个begin块里用=就行但我想知道不同always块内的情况,,, 刚开始搞这玩意不太明白,恳请赐教.

  • 我构建了一个简单的Spring Web应用程序。我有一个带有@RequestMapping的简单@控制器,但当我运行它时,我不能访问URL: 我做错了什么?

  • 因此,我在为我的数据库提出实体关系时遇到了一些麻烦,但是我已经完成了一些设计过程,并且是最低口径的。将创建数据库,以便学生可以有许多课程的许多对许多关系(显然我知道)。数据库需要每天跟踪家庭作业和出勤率。但是,课程可以只是一周中的一天或许多天。 顾问- 学生- 课程- 学生课程- 这里我陷入了困境,我想创建一个日历表,但我如何将数据关联到作业表和出勤率。如有任何建议,欢迎批评指正。

  • 问题内容: 我有一个简单的问题。我正在尝试将文件上传到Java中的ftp服务器。 我的计算机上有一个文件,我想复制该文件并上传。我尝试将文件的每个字节手动写入输出流,但这不适用于复杂文件,例如zip文件或pdf文件。 只是为了踢球,这是我尝试做的事情: 例如,当我使用pdf进行此操作,然后尝试打开使用该程序运行的pdf时,它表示尝试打开pdf时发生错误。我猜是因为我要在文件中写入“ \ n”?如何

  • 本文向大家介绍跟老齐学Python之赋值,简单也不简单,包括了跟老齐学Python之赋值,简单也不简单的使用技巧和注意事项,需要的朋友参考一下 变量命名 在《初识永远强大的函数》一文中,有一节专门讨论“取名字的学问”,就是有关变量名称的问题,本温故而知新的原则,这里要复习: 名称格式:(下划线或者字母)+(任意数目的字母,数字或下划线) 注意:  1.区分大小写  2.禁止使用保留字  3.遵守通

  • 直线上最多的点数 LeetCode - 149. 直线上最多的点数 问题描述 思路 根据 y=kx+b,计算每两个点的 (k, b) 对,配合 map 存储 使用 (k,b) 可能存在精度问题,更好的方法是使用 ax+by+c=0 两者本质上没有区别,实际上就是把 k 分为 a/b 存储 注意:将 {a, b} 作为 key 时应该先利用最大公约数缩小 a 和 b C++ class Soluti

  • 文件夹目录是 这是cmakelists.txt 这是main.cpp 当我在中键入时,它显示一个错误 就像我听到的CMake-build。与make相似,所以我尝试了make,它显示了如下错误 当我键入时, 你能帮我修好它吗?我不能做任何事情,因为我甚至不能解决这个简单的错误在非常容易的教程。请帮帮我请谢谢 ps.因为我都不知道什么是CMake中的错误,你能告诉我应该在google中键入什么来解决