讨论 / 请大牛(们)指教一下,有一个点不对
hades 2008-08-26 17:17:00
点我顶贴 收藏 删除
program asd;

var

a,b:array[1..200,1..200] of integer;

c,d:array[1..200] of integer;

i,j,k,m,n,t,l1,num:integer;

s:string;

l:array[1..200] of integer;

procedure chuli;

var

i,j,k,m:integer;

begin

for i:=1 to t do

if c[i]<>maxint then begin

for j:=1 to l[i] do begin

a[i,j]:=a[i,j]*b[i,j];

d[i]:=d[i]+a[i,j];

end;

end;

end;

procedure pd;

var

i,j,k:integer;

begin

for i:=1 to t do

for j:=1 to t do

if (c[j]<>maxint) and (d[i]=c[j]) then

begin

c[j]:=maxint;

num:=num-1;

end;

end;

procedure sort;

var

i,j,k:integer;

begin

for i:=1 to t-1 do

for j:=i+1 to t do

if c[i]>c[j] then begin

k:=c[i];

c[i]:=c[j];

c[j]:=k;

end;

end;

begin

readln(n);

readln(s);

l1:=length(s);

t:=1; k:=1;

for i:=1 to l1 do

begin

if s[i]<>’ ’ then begin c[t]:=c[t]*10+ord(s[i])-48;

l[t]:=l[t]+1;

b[t,k]:=ord(s[i])-48;k:=k+1; end

else begin t:=t+1; k:=1; end;

end;

d:=c;

a:=b;

num:=t;

for i:=1 to n do

begin

for j:=1 to t do

fillchar(d,sizeof(d),0);

chuli;

pd;

end;

sort;

for i:=1 to num do

if i=num then writeln(c[i]) else write(c[i],’ ’);

end.

说明一下,

数组B是用来记录每个数字的每一位数字

数组A用来记录每个数字每位数字的N次方

数组C用来记录每个数字

数组D用来记录进行N次处理后的每个数字,

有一个点不对,不知道那里错了。。。。。。。

查看更多回复
提交回复