【问题标题】:regarding generating a unique value for a set of numbers and regenerating the set of values when we pass back the same unique value [closed]关于为一组数字生成唯一值并在我们传回相同的唯一值时重新生成一组值[关闭]
【发布时间】:2014-09-08 01:47:54
【问题描述】:

我需要编写一个函数(逻辑),以便为一组说 A{1,2,3,4,5} 我生成一个唯一值。 当我将相同的值传回给函数时,它应该返回集合中存在的一组值。 例如,生成的唯一值是“5”,然后当我将 5 作为输入传递给函数时,它应该给我集合 A 的所有值,即 1,2,3,4,5。

所以我需要知道它是否可以使用任何统计方法(如平均中位数模式等)来实现。

【问题讨论】:

  • 听起来你需要一个单射和可逆映射/变换。由于语言无关紧要,这是Math 或类似的问题
  • 你可以用你熟悉的语言帮助我@kingkero
  • 你误会了。我们不是来做你的功课的,这个问题缺乏事先的努力,也没有尝试自己解决这个问题。除非你这样做(我希望我在第一条评论中给了你一些好的流行语),否则我根本不会回答
  • 我尝试将所有随机数加上某个值,然后根据集合中元素的数量减去该值,以便以相反的顺序检索元素。对于具有固定值的集合,这种方法是否有效是我的问题
  • 我自己对此很感兴趣,所以我考虑了一下。实际上这很容易 - 你可以做的是取你的集合中的每个 n 并计算 2^n - 将它们相加,你会得到一个二进制数,每个位置都有一个原始数字(否则为 0) -作为this script does,如果你的输入不是那么少,你可能需要改进它

标签: java php sql unix ksh


【解决方案1】:

这样的?

$valSet = array(1, 2, 3, 4, 5); $authNum = 5; if($authNum == $someInputByUser) { print $varSet; }

这是你的意思吗?

【讨论】:

  • 不,您硬编码为 5 的值应该从您使用的数组中生成,并且对于特定集合应该是唯一的,这样如果我将值传递给函数,它将返回元素
  • 然后简单地做$authNum = $valSet[array_rand($valSet)];@venkat
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-23
  • 1970-01-01
  • 1970-01-01
  • 2013-04-19
  • 1970-01-01
相关资源
最近更新 更多