litaoye 发表于 2010-1-26 11:27:34

楼上给的下界太小了吧?

在chrome下,看狼兄弟的帖子写的是1-108,今天换了Firefox,才看出来是10^8,晕,这个范围用斐波那契显然不合适了。简单看了一下mathe的方法,还没完全理解,过两天来看结论吧,省脑细胞了!

winxos 发表于 2010-2-1 23:58:45

31# litaoye

我也看成了108...

winxos 发表于 2010-2-1 23:59:35

30# mathe
请问一下mathe
gp如何写成脚本的形式以及如何运行脚本呢?

mathe 发表于 2010-2-2 06:48:54

写成一个后缀为gp的文件。我在windows下是放在c盘根目录,Linux下放在自己home目录下(可能还有其他目录也可以),比如这个文件名为a.gp,然后在gp下输入命令
\r a
那么a.gp中所有命令被装入,然后就可以调用里面的函数了

clanswer 发表于 2010-5-4 09:57:37

我看看高手们的回答

mathe 发表于 2018-6-29 14:57:06

23#中公式如果考虑到有多个不同的源根,而我们只用一个源根去搜索,如同30#中的pari/gp代码,那么可以把目标函数变为$a+b(p-1)g^{h-1}+c xx p xx h(mod p(p-1)), 0<=h<p-1$,其中由于我们只要找出${b(p-1)g^{h-1}+c xx p xx h(mod p(p-1)), 0<=h<p-1}$中数重排后相邻数最大的差值,就可以找出最优的a,所以上面代码中我们不需要穷举a,而是可以计算出来。
由于对于固定的$g$,存在$s$使得$b=g^s(mod p)$,所以上面公式平移后可以变为$a-c xx p xx s+(p-1)g^{h+s-1}+c xx p xx (h+s) (mod p(p-1))$,所以我们总可以选择$b=1$
由此
我们可以选择P=10007,g=5,求出 a=51625520, b=1, c=9579时,得到$10^8$之内有10006个数任意两数和不同的构造

mathe 发表于 2018-6-29 16:35:56

取P=10009,g=11,a=21661005,b=1,c=883, 去掉最大一个数可以得到10007个满足条件的解
代码参考这串数最多有几个数?
页: 1 2 3 [4]
查看完整版本: 选数字