在伪代码中表达两个变量之间的关系?
Expressing relationship between two variables in pseudocode?
我正在尝试分析一些伪代码:
public static void test(float z) {
float y = 0;
for (float i = 1; i <= z; i++) {
if (y < z) {
y = 4 * i * i + 6;
}
}
return y;
}
从函数中,我了解到 y = 4i^2 + 6
每当 y < z
。但是,我无法捕捉方程中 y 和 z 之间的关系。我觉得它可以被捕获为一个 floor 函数(阶跃函数)——对于 z 中一定范围的数字,y 将具有该指定值。
对于第一个 i
,y
变得大于 z
(并停止变化),使得 2*i^2 + 3 > z
。换句话说,最小的i > sqrt((z - 3) / 2)
,也就是floor(sqrt((z - 3)/2)) + 1
。现在如你所知 i
,计算 y
.
我正在尝试分析一些伪代码:
public static void test(float z) {
float y = 0;
for (float i = 1; i <= z; i++) {
if (y < z) {
y = 4 * i * i + 6;
}
}
return y;
}
从函数中,我了解到 y = 4i^2 + 6
每当 y < z
。但是,我无法捕捉方程中 y 和 z 之间的关系。我觉得它可以被捕获为一个 floor 函数(阶跃函数)——对于 z 中一定范围的数字,y 将具有该指定值。
i
,y
变得大于 z
(并停止变化),使得 2*i^2 + 3 > z
。换句话说,最小的i > sqrt((z - 3) / 2)
,也就是floor(sqrt((z - 3)/2)) + 1
。现在如你所知 i
,计算 y
.