Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 查找用于生成序列中下一个数字的算法_Algorithm_Sequence - Fatal编程技术网

Algorithm 查找用于生成序列中下一个数字的算法

Algorithm 查找用于生成序列中下一个数字的算法,algorithm,sequence,Algorithm,Sequence,序列中的第一个数字是0094332543029476,序列中的下一个数字是0094332543031698。 我们知道两者的区别是2222,GDC是2。 我需要知道序列中的下一个数字。加上2222后就不是0094332543033920了。使用0094332543029476+2222*3^2也不是0094332543049474 位数固定为16,序列中的下一个数字始终为正数,且大于上一个数字 这意味着对第一个数字进行了一些操作,将2222作为要添加到第二个数字的数字 有一种算法应用于第一个数字

序列中的第一个数字是0094332543029476,序列中的下一个数字是0094332543031698。 我们知道两者的区别是2222,GDC是2。 我需要知道序列中的下一个数字。加上2222后就不是0094332543033920了。使用0094332543029476+2222*3^2也不是0094332543049474

位数固定为16,序列中的下一个数字始终为正数,且大于上一个数字

这意味着对第一个数字进行了一些操作,将2222作为要添加到第二个数字的数字

有一种算法应用于第一个数字0094332543029476或其单个数字,以生成2222进行相加并生成下一个数字。现在,必须对0094332543031698应用相同的算法来生成第三个数字,以此类推

这意味着它不是基于2222的,而是涉及到一个算法

你将如何处理这个问题


提前感谢。

让我们重新命名一下:

我们正在寻找一个序列,Sn:

S0=94332543029476 S1=S0+2222 S2!=S1+2222

而且这个序列在严格地增加。 ie:Si 我们想找到唯一可能的S2值对应的值

简短回答:序列上的约束不足以将S2的值限制为一个值:

让我们考虑一个唯一序列族,fZn:< /p> fzn=n^z,其中z是大于1的整数

这意味着:

fz0=0^z=0 fz1=1^z=1 fz2=2^z>2

此外,对于z的每个值,这将生成一个唯一的序列: 当i

现在让我们考虑一个唯一序列族,GZN:

gzn=S0+2222*fzn

…这意味着:

gz0=S0 gz1=S0+2222=S1 gz2>S0+2*2222=>gz2!=S1+2222

因此,对于每一个大于1的z整数,都有一个唯一的解决方案gz2

因此,正如斯科特·亨特(Scott Hunter)在评论中指出的那样:这个问题不仅没有唯一的解决方案,而且有无限的解决方案

更广泛地说,如果你为S2选择任何大于S1的值,除了S1+2222之外,那么总是会有无限数量的序列正确地生成S0、S1和S2。你可以扩展我上面的证明来证明这一点,但不必回答你的问题

只需围绕序列提供更多信息/约束即可

即使我们知道它是一个多项式,即使我们可以访问序列的前k个元素,那么k阶多项式只有一个唯一的解,并且对于任何大于k阶的多项式都有无穷多个解,对于小于k阶的多项式可能没有解


另一种说法是,由于解决方案没有足够的约束,自由度是不受约束的,因此始终比您可能提供的任何数据示例都要多。你可以。

事实上答案是无限的。我们也知道答案不是随机的,它总是比前一个数字高。我猜是对每个数字的各个数字进行了计算,以生成2222作为要添加的数字,从而生成序列中的下一个数字。您将如何验证该猜测,例如,排除@Elliot确定的所有可能性?有无限多的严格升序序列,从您提供的2个值开始,但不是第三个值,您没有提供选择的依据。或者2222是问题中实际出现的3个值中唯一的一个?-对不起,我弄错了,序列中的第二个数字是0094332543031698,而不是0094332543021698。一个可能的答案是什么?@SamuelCheca:Sn=94332543029476+2222*n^2@SamuelCheca,使用以下公式:S2=94332543029476+2222*2^2=94332543038364。