Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
好久不见人用GOTO了。。。In Reply To:那里错了? Posted by:wangshuai at 2005-10-07 15:40:45 > label > chknext; > var > l,i,j:longint; > k:array[1..30]of longint; > p:array[1..9600]of longint; > nsize,size:longint; > > function calcmod(moder:longint):longint; > var i,x:longint; > begin > x:=0; > for i:=nsize downto 1 do > begin > x:=x*10000+k[i]; > x:=x mod moder; > end; > calcmod:=x; > end; > > > function iszero:boolean; > begin > iszero:=(nsize=1)and(k[nsize]=0); > end; > > procedure getnum; > var s,ts:string; > c:char; > begin > s:='';nsize:=0; > repeat > read(c); > if not (('0'<=c)and(c<='9')) then break; > s:=s+c; > until false; > while length(s)>0 do > begin > ts:=copy(s,length(s)-3,4); > inc(nsize); > val(ts,k[nsize]); > s:=copy(s,1,length(s)-4); > end; > end; > > function mod_exp(a,b,c:longint):longint; > var d,ans:int64; > begin > ans:=1;d:=a mod c; > while b>0 do > begin > if b mod 2=1 then ans:=ans*d mod c; > d:=d*d mod c; > b:=b shr 1; > end; > mod_exp:=ans; > end; > > function miller_rabbin(x:longint):boolean; > begin > if (x<>2)and(mod_exp(2,x-1,x)<>1) then exit(false); > if (x<>3)and(mod_exp(3,x-1,x)<>1) then exit(false); > if (x<>5)and(mod_exp(5,x-1,x)<>1) then exit(false); > if (x<>7)and(mod_exp(7,x-1,x)<>1) then exit(false); > if (x<>11)and(mod_exp(11,x-1,x)<>1) then exit(false); > if (x<>13)and(mod_exp(13,x-1,x)<>1) then exit(false); > miller_rabbin:=true; > end; > > > begin > size:=1; > p[1]:=2; > i:=3; > while i<100000 do > begin > if miller_rabbin(i) then > begin > inc(size); > p[size]:=i; > end; > inc(i,2); > end; > inc(size);p[size]:=maxlongint; > repeat > chknext: > getnum; > readln(l); > if iszero and (l=0) then break; > > i:=1; > while p[i]<l do > begin > if calcmod(p[i])=0 then > begin > writeln('BAD ',p[i]); > goto chknext; > end; > inc(i); > end; > writeln('GOOD'); > until false; > end. Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator