讨论 / 无法提交?
sxpeter 2008-05-23 07:19:00
点我顶贴 收藏 删除
提交后显示以下文字

-------------------------------------------------

Request 对象 错误 ASP 0104 : 80004005

不允许操作

/SubmitCK.asp,行 8

-------------------------------------------------

#1 sxpeter@2008-05-23 07:19:00
回复 删除
现在明白了,原来是交的表太长了

顺便贴一下程序,供大家BS

{$inline on}

const maxn=316223;

var

t:qword;

i,l:longint;

w:array[0..50]of boolean;

function su(n:longint):boolean;

{$IFDEF inline on}

inline;

{$ENDIF}

var d:longint;

function mdexp(a,b,c:longint):longint;

{$IFDEF inline on}

inline;

{$ENDIF}

var

fm:array[0..50]of longint;

i:longint;

t:int64;

begin

fillchar(fm,sizeof(fm),0);

fm[0]:=1;fm[1]:=a mod c;

for i:=2 to l do fm[i]:=sqr(int64(fm[i-1]))mod c;

t:=1;

for i:=0 to l do if w[i]then t:=(t*fm[i])mod c;

exit(t);

end;

function tr(n,a:longint):boolean;

{$IFDEF inline on}

inline;

{$ENDIF}

var temp:longint;

begin

temp:=mdexp(a,n-1,n);

if(temp<>1)and(temp<>n-1)then exit(false);

exit(true);

end;

begin

if(n=2)or(n=3)or(n=5)or(n=7)or(n=11)then exit(true);

if not odd(n)then exit(false);

l:=0;fillchar(w,sizeof(w),false);

d:=n;

while d>0 do begin

w[l]:=odd(d);

d:=d shr 1;

inc(l);

end;

dec(l);

exit(tr(n,2)and tr(n,3)and tr(n,5)and tr(n,7){and tr(n,11)});

end;

begin

read(t);

for i:=2 to maxn do begin

if t<i then break;

if su(i)then while t mod i=0 do begin

t:=t div i;

write(i, );

end;

end;

if t>1 then write(t);

end.

查看更多回复
提交回复