php - 创建公式

标签 php algorithm

比如说,我有一个变量 X、一个变量 Y 和一个变量 Z。

If Y = 1 then Z = 0.

下面所有这些例子都是 Y 严格大于 1 的情况。

* If X = 1 and Y >= 2, then Z = 1

* If X = 2 and Y >= 4, then Z = 2
(If X = 2 and Y < 4 , then Z = 1)

* If X = 3 and Y >= 6, then Z = 3
(If X = 3 and Y < 6 but >= 4, then Z = 2)
(If X = 3 and Y < 4 but >= 2, then Z = 1)

* If X = 4 and Y >= 8, then Z = 4
(If X = 4 and Y < 8 but >= 6, then Z = 3)
(If X = 4 and Y < 6 but >= 4, then Z = 2)
(If X = 4 and Y < 4 but >= 2, then Z = 1)

etc etc  ...

我正在尝试创建一个公式来根据上述信息生成该变量 Z。

我已尝试执行以下操作:

$Z = $X > $Y ? $Y : floor($X / $Y);

起初我以为这是在做我想做的事,但显然不是。知道我做错了什么以及如何解决这个问题吗?

最佳答案

首先我们需要分析条件和每个变量的作用。

  • X 显然提供了 Z 的上限,所以 Z = min(X, ???)
  • 条件仅针对 Y >= 2 提供,如果 Y = 1,则 Z 固定为 0
  • floor(Y/2) = Z 在上述范围内

所以YX必须至少为1并且Z的范围是[0, X].

把这些放在一起:

if Y < 1 or X < 1:
    some error ???
elif Y == 1
    Z = 0
else
    Z = min(X, floor(Y / 2))

关于php - 创建公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53709117/

相关文章:

php - 使用php从html表单多次插入Mysql

php - 确定广告是否显示以及是否被点击

php - 如何隐藏表格行?

php - file_get_contents()无法打开流

algorithm - 不同反向传播算法的性能比较绘图

c - 这个c片段有什么作用?

php - 适用于许多网站和相关初学者的 Twitter API 1.1、OAuth 和 PHP(用于内容管理系统)

c# - 在 C# 中从具有依赖接口(interface)的抽象类继承的正确方法

algorithm - 霍夫曼最小方差编码

c - C 中的回溯