Afişează mesaje
Pagini: [1]
1  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 008 Cifra : Februarie 04, 2013, 11:32:22
nu stiu de ce nu primesc puncte pe acest program...
va rog sa ma ajutati.
programul :

type matrix=array[0..10,0..10]of longint;
     sor =array[0..10]of longint;
 
var a:matrix;
    b:sor;
    i,j,n,x,o,y:longint;
    f,g:text;
 
begin
{0-1}
a[0,0]:=0;
a[1,1]:=1;
a[1,0]:=1;
b[0]:=1;
b[1]:=1;
 
{2}
a[2,1]:=2;
a[2,2]:=4;
a[2,3]:=8;
a[2,0]:=6;
b[2]:=4;
{3}
a[3,1]:=3;
a[3,2]:=9;
a[3,3]:=7;
a[3,0]:=1;
b[3]:=4;
{4}
a[4,1]:=4;
a[4,0]:=6;
b[4]:=2;
{5}
a[5,1]:=5;
a[5,0]:=5;
b[5]:=1;
{6}
a[6,1]:=6;
a[6,0]:=6;
b[6]:=1;
{7}
a[7,1]:=7;
a[7,2]:=9;
a[7,3]:=3;
a[7,0]:=1;
b[7]:=4;
 
{8}
a[8,1]:=8;
a[8,2]:=4;
a[8,3]:=2;
a[8,0]:=6;
b[8]:=4;
{9}
a[9,1]:=9;
a[9,0]:=1;
b[9]:=2;
 
 
{for i:=0 to 9 do begin writeln;
    for j:=0 to b do write(a[i,j],' ');
    end;}
 
 
 
{for i:=2 to 9 do begin
 
j:=0;
x:=i;
while a[i,1]<>x mod 10 do begin
                        inc(j);
                        a[i,j]:=x mod 10;
                        x:=x*i;
                        end;
b:=j;
end; }
 
 
 
assign(f,'cifra.in');reset(f);
assign(g,'cifra.out');rewrite(g);
 
readln(f,n);
 
for j:=1 to n do begin
                 readln(f,x);
 
                 o:=0;
                 for i:=1 to x do begin
                 y:=i mod 10;
                 if y<>0 then
                 o:=o+(a[y,i mod b[y]]);
                 o:=o mod 10;
                 end;
                 writeln(g,o);
                 end;
 
 
 
                {o:=1;
                 if x>1 then
                 for j:=2 to x do  begin
                 y:=i;
                 m:=y mod 10;
                 y:=y mod b[m];
                 o:=o+a[m,y];
                 end;
 
                 writeln(g,o mod 10);
                 end;   }
 
 
 
close(f);
close(g);
 
end.
Pagini: [1]
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines