mathe
发表于 2010-1-19 09:31:33
N=7的结果为227907个,结果文件共7.2M
看来N=8是不能保留结果文件的了
数学星空
发表于 2010-1-19 09:36:38
medie2005
发表于 2010-1-19 09:41:48
http://www.research.att.com/~njas/sequences/A002967
数学星空
发表于 2010-1-19 09:52:49
呵呵,看来只有计算n=9才能打破记录
可能只有mathe....
无心人
发表于 2010-1-19 09:59:39
mathe有计算这个的先例
不穷举也可以计算的
无心人
发表于 2010-1-19 10:02:28
另外,肚子去美国了?
怎么IP显示在美国?
mathe
发表于 2010-1-19 10:08:30
IP不能说明任何问题,现在呢?
发现我还有遗漏,而前面计数过多,是我不知道gp写文件,不会覆盖原先的文件.所以如果原先文件中还有数据,会将多次数据累加:dizzy:
mathe
发表于 2010-1-19 10:25:38
这下N=5和N=6的数目同12#一致了
N()=
{
7
}
K()=
{
N()-2
}
BEGIN()=
{
0
}
END()=
{
-1
}
OUTFILENAME()=
{
"/home/zdu/N7d.txt"
}
output()=
{
local(V,MM,RR,uu,f,v,v2,a,b,d);
MM=M;
RR=R;
V=MM;
c=c+1;
if(c>=BEGIN()&&(END()<0||c<=END()),
f=divisors(V);
for(u=1,length(f),
for(u2=u,length(f),
v=f;v2=f;
if((v+v2)%RR!=0, next());
if(gcd(v,v2)>1,next());
d=(v+v2)/RR*(V/(v*v2));
a=d*v;b=d*v2;
if(a>=n,
n=a;
n=b;
write(OUTFILENAME(),n);
)
)
)
);
if(c%100==0, print("process " c " lines"))
}
search(level)=
{
local(ll,uu,dd);
if(level>=K(),
output(),
ll=floor(M/R)+1;
uu=floor((N()-level)*M/R);
if(ll<=n,ll=n);
for(i=ll,uu,
n=i;
M=M*i;
R=R*i-M;
dd=gcd(M,R);
M=M/dd;
R=R/dd;
A=A+1;
search(level+1);
A=A-1
)
)
}
search0()=
{
n=vector(N());
M=vector(N());
R=vector(N());
A=vector(4);
c=0;
for(i=2,8,
n=i;
R=i-1;
M=i;
A=A+1;
search(1);
A=A-1;
);
}
mathe
发表于 2010-1-19 10:29:54
呵呵,看来只有计算n=9才能打破记录
可能只有mathe....
数学星空 发表于 2010-1-19 09:52 http://bbs.emath.ac.cn/images/common/back.gif
用现在穷举的算法是无法破记录的了.倒是计算n=8问题不大.设置即使将所有数据保存下来都有可能,只是文件太大了,估计要超1G
wayne
发表于 2010-1-19 11:13:13
用现在穷举的算法是无法破记录的了.倒是计算n=8问题不大.设置即使将所有数据保存下来都有可能,只是文件太大了,估计要超1G
mathe 发表于 2010-1-19 10:29 http://bbs.emath.ac.cn/images/common/back.gif
要是如15楼所言,不输出,只是统计,效果会怎样呢