求一算法,根据z,y,w,z四个数值计算得到一个唯一的值

来源:百度知道 编辑:UC知道 时间:2024/05/31 11:39:22
求一算法,根据z,y,w,z四个数值计算得到一个唯一的值
高分求一算法,根据x,y,w,z四个数值计算得到一个唯一的值
(x,y,w,z 都>=0)计算得到的值>=0

就是每次传入的四个数值计算得到的数不能和其他不同传入得数计算得到一样结果

"求一算法,根据x,y,w,z四个数值计算得到一个唯一的值"

求 v 使 (x-v)²+(y-v)²+(z-v)²+(w-v)² 最小。

此 v, 就是你要找的值。

R4->R1的单射是存在的。

这个算法用公式,算法很难,但说明起来还是容易的。
其作用也正如上面所说,证明线和面和体上的点一样多。

举个例子来把
xyzw分别是 12.34 34.56 789.012 1234.5678

1:以小数点为准,将所有数字对其,不足的用0添满

0012.3400
0034.5600
0789.0120
1234.5678

以数字纵向取数,先是xyzw的第一位,再第二位。。。

f(xyzw)=0001 0072 1383 2494. 3505 4616 0027 0008

如果四个数都是[0, A)范围的整数,其中A是一个整数,则
最简单的,
f(x, y, z, w) = x + yA + zA^2 + wA^3即可。

如果 f(x1, y1, z1, w1) = f(x2, y2, z2, w2)
则因为 x1-x2 + (y1-y2)A + (z1-z2)A^2 + (w1-w2)A^3 = 0

| x1-x2 + (y1-y2)A + (z1-z2)A^2 |
<= | x1-x2 | + |(y1-y2)| A + |(z1-z2)| A^2
<= A-1 + (A-1)A + (A-1)A^2
= A^3 - 1
所以必须 (w1-w2)A^3 = 0,也就是 w1 = w2
同样的可以得到 z1 = z2, y1 = y2, x1 = x2

如果都是整数的话,
f(x,y,w,z)=g(g(x,y),g(w,z)),其中g(a,b)=(a+b)*(a+b+1)/2+b。