22# northwolves
是用 mathematica 带的 PrimitiveRoot 函数 (不过只得到一个原根. wikipedia上说有办法可以从一个得到所有的).
根据mathe说的, 取 p=101 得到100个元素的解:
p = 101; r = PrimitiveRoot[p];
s = {}; Do[s = Append[s, Mod[p*i + (p - 1)*r^i, p (p - 1)]], {i, p - 1}];
s = Sort; Print[s - First + 1]
{1,202,217,235,359,503,563,629,694,787,822,848,1004,1142,1237,1321,1345,1383,1385,1397,1510,1520,1869,1892,1905,1974,1980,2066,2256,2295,2311,2314,2647,2744,2825,2958,3188,3262,3308,3398,3426,3515,3606,3678,3755,3812,4165,4454,4527,4561,4586,4631,4639,4682,4753,4784,4851,4852,4893,4900,5160,5164,5391,5396,5577,5640,5816,6109,6281,6432,6476,6619,6628,6713,6734,6875,6907,7090,7170,7249,7299,7336,7524,7541,7571,7867,7889,8272,8443,8546,8730,9118,9138,9257,9268,9573,9823,9850,9879,9933}
取 p=103, 并且随机的试了几个b, 得到一个102个元素的子集且只有一个大于10000:
{1,168,238,293,300,435,440,451,482,491,736,738,1068,1105,1133,1695,1762,1839,1874,2003,2101,2109,2219,2367,2426,2452,2618,2638,2733,2746,2920,3159,3217,3309,3624,3805,3943,3962,4014,4173,4198,4222,4527,4603,4717,4804,5050,5082,5195,5278,5554,5558,5622,5651,5726,5729,5978,6271,6444,6561,6575,6804,7038,7044,7200,7426,7550,7604,7640,7767,7861,7952,7982,8093,8213,8247,8270,8292,8313,8352,8393,8641,8668,8714,8729,8767,8777,8851,8863,8932,9051,9101,9324,9454,9543,9587,9659,9811,9812,9829,9972,10005}
所以剔除最后一个, 得到101个元素的解.
20楼的文章给了一个 $n^{1/2}+n^{1/4}+1$ 的上界, 所以有改进的空间, 楼主可以试试其他的选择, 比如换一个原根. |