medie2005
发表于 2009-3-3 09:02:58
今天抽空实现一下,应该能找到12的.
mathe
发表于 2009-3-3 09:16:35
原帖由 无心人 于 2009-3-2 17:43 发表 http://bbs.emath.ac.cn/images/common/back.gif
粗略估计在10^60内你说的数字就是
小于199 * 125 * 85 * 70个
不知道每个数字的对应数字是多少候选??
应该是一对多啊
数目应该约等于$1/{4}!log^4(10^60)/{log(2)log(3)log(5)log(7)}~=6364870.77$
无心人
发表于 2009-3-3 10:32:17
我穷搜10的
竟然发现Cache 10^8以下的最高是4
不知道错在哪里??
无心人
发表于 2009-3-3 10:56:50
最新测试,似乎10对应的素数大于10^9
无心人
发表于 2009-3-3 10:58:44
char pl;
unsigned int pd;
unsigned int prodd(unsigned int n)
{
unsigned int r = 1;
if (n < 10000) return pd;
while (n >= 10000)
{
r *= pd;
n /= 10000;
}
if (n != 0) r *= pd;
return r;
}
void init(void)
{
unsigned int i, j, k, l, n;
for (i = 0; i <= 9; i ++)
for (j = 0; j <= 9; j ++)
for (k = 0; k <= 9; k ++)
for (l = 0; l <= 9; l ++)
{
if (i == 0)
{
if (j == 0)
{
if (k == 0)
n = l;
else
n = k * l;
}
else n = j * k * l;
}
else n = i * j * k * l;
pd = n;
}
for (i = 0; i <= 9; i ++)
pl = 0;
for (i = 10; i < 100000000; i ++)
{
k = prodd(i);
pl = pl + 1;
}
}
int isprime(unsigned int n)
{
if (n % 2 == 0) return 0;
if (n % 3 == 0) return 0;
if (n % 5 == 0) return 0;
if (n % 7 == 0) return 0;
if (n % 11 == 0) return 0;
if (n % 13 == 0) return 0;
if (n % 17 == 0) return 0;
if (n % 19 == 0) return 0;
if (n % 23 == 0) return 0;
if (n % 29 == 0) return 0;
if (n % 31 == 0) return 0;
return 1;
}
int _tmain(int argc, _TCHAR* argv[])
{
unsigned int i, k = 1, n, p;
init();
printf("init finished.\n");
unsigned int max = 0;
for (i = 0; i < 100000000; i ++)
if (max < (unsigned int)pl) max = (unsigned int)pl;
printf("MAX Product of digits level: %u\n", max);
for (i = 100000001; i <= 4099999999; i ++)
{
if (isprime(i))
{
n = prodd(i);
p = 0;
while (n >= 100000000)
{
p ++;
n = prodd(n);
}
p += pl + 1;
if (p >= 10)
printf("%u:%u\n", i, p);
}
k ++;
if (k % 100000000 == 0)
{
printf("\n%u\n", k);
}
}
return 0;
}
无心人
发表于 2009-3-3 11:03:37
P(3777888899) = 10
无心人
发表于 2009-3-3 11:05:06
11的大于10^10
mathe
发表于 2009-3-3 13:11:05
因子都是2,3,5,7的最小10阶数为$4996238671872=2^19*3^4*7^6$
其次为$937638166841712=2^4*3^20*7^5$
而通过第一个数字,可以构造出一个素数277777788888989。11阶的基本应该不能比这个更加小了。
应该只需要穷举第一个数字的所有可能组合就可以了
medie2005
发表于 2009-3-3 13:19:19
呵呵,为了保险,还是得找10^15内的10阶数,然后,看其中有没有更优者.
不过,mathe给的结果确实是使p(n)=11的最小素数n.
[ 本帖最后由 medie2005 于 2009-3-3 13:21 编辑 ]
medie2005
发表于 2009-3-3 13:37:33
p(n)=12要困难很多.
我目前正在找10^100内的11阶数, 但目前未发现一个.