寻找一种算法

风青羊 2010-04-11 09:53:34
想找一种算法,实现如下功能:

已知x1 x2 求得 x3

然后

已知x3 通过反推算法求得 x1 x2


注:x1 x2 x3 都为一个浮点数.
...全文
254 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
如果x3不是浮点就或许可以。 还有就是x1、x2非常简单

压缩算法一说 非常有道理。
liyanlin122 2010-04-16
  • 打赏
  • 举报
回复
不可能实现
除非给出精度
fairywell 2010-04-14
  • 打赏
  • 举报
回复
从 information theory 角度来说,信息量不够吧
xhp718 2010-04-14
  • 打赏
  • 举报
回复
汗!!!!!!!!
starboy520 2010-04-13
  • 打赏
  • 举报
回复
mark !
donkey301 2010-04-13
  • 打赏
  • 举报
回复
x1,x2肯定是大于零的数吗?
如果是的话可以设置一个精度,将x1,x2变成整数,然后类似整数整除和求余的方式,令:X3= X1*M + X2
PeacefulBY 2010-04-12
  • 打赏
  • 举报
回复
根据信息论理论,想要把两个浮点数存储的信息无损压缩到一个浮点数内,这是不可能的
sosidami 2010-04-12
  • 打赏
  • 举报
回复
不可能,别浪费时间
bullbat 2010-04-12
  • 打赏
  • 举报
回复
lz是不是没说清楚,按照你说的是不可能实现的。。
LeonTown 2010-04-12
  • 打赏
  • 举报
回复
可能楼主的意思是,
有一系列这样的对应关系,

然后做个类似模式识别的映射关系。。。
keeya0416 2010-04-12
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 rsandtl 的回复:]
引用 3 楼 michael122 的回复:
你至少得知道从x1,x2推到x3或者反推过来的公式吧
要不然没法做



这个贴子就是想找这个公式
[/Quote]
直接把两个数存到更大的数据类型中
后边再分解出来可以么
风青羊 2010-04-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 michael122 的回复:]
你至少得知道从x1,x2推到x3或者反推过来的公式吧
要不然没法做
[/Quote]


这个贴子就是想找这个公式
xiuxianshen 2010-04-12
  • 打赏
  • 举报
回复
找一种一一映射方式吧
showjim 2010-04-12
  • 打赏
  • 举报
回复
不可能的,如果这样都行,那压缩算法就没有存在的意义了
tanggui2007 2010-04-12
  • 打赏
  • 举报
回复
对啊,楼上的两个素数相乘。然后分解,的确是唯一的。可因式分解很困难的。
我提议用本原勾股数组吧,这个是唯一的。有相应的公式
knate 2010-04-12
  • 打赏
  • 举报
回复
设X1,X2 映射成为 两大于1的素数.
X3 = X1 * X2

X3能唯一分解成X1,X2
超级大笨狼 2010-04-12
  • 打赏
  • 举报
回复
a^b=c

那么c^b=a

也许这个可以启发你.

按照你目前说的条件,楼上几位说的都对:不可能.
michael122 2010-04-11
  • 打赏
  • 举报
回复
你至少得知道从x1,x2推到x3或者反推过来的公式吧
要不然没法做
shiweijian1986 2010-04-11
  • 打赏
  • 举报
回复
x3分解单元数
比如乘法:
思路(把X3分解成单个数列)
list<int> iarray = new list<int>();
for(int i=1;i<x3;i++)
{
if(x3%i)
{
x3=x3%i
iarray.add(i)
i=2;
continue;
}
}
再对iarray进行排列组合

绿色夹克衫 2010-04-11
  • 打赏
  • 举报
回复
不太靠谱,已知x1 = 1,x2= -1 ,x3 = x1 + x2 = 0
已知x3 = 0, x1 = ? x2 = ?

33,028

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧