fork download
  1. program div3;
  2. const max=100;
  3. maxcifre=100000;
  4. var N,i,h:integer;
  5. V, soluzione:array[1..max] of int64;
  6. resto: array[1..maxcifre] of integer;
  7. cifre :array[1..maxcifre] of integer;
  8. contacifre:array[1..maxcifre] of longint;
  9. contacifra, res: longint;
  10. procedure cifra (a:int64);
  11. var j:longint;
  12. begin
  13. j:=1;
  14. while a >=1 do
  15. begin
  16. a:= a div 10;
  17. cifre[j]:= a mod 10;
  18. j:=j+1;
  19. end;
  20. contacifra:=j-1;
  21. end;
  22.  
  23. begin
  24. readln(N);
  25. for i:=1 to N do read(V[i]);
  26. for i:=1 to N do
  27. begin
  28. cifra(V[i]);
  29. contacifre[i]:=contacifra;
  30. end;
  31. for i:=1 to N do
  32. begin
  33. res:=V[i] mod 3;
  34. if res=0 then soluzione[i]:=V[i]
  35. else
  36. begin
  37. cifra (V[i]);
  38. for h:=1 to contacifre[h] do resto[h]:=cifre[h] mod 3;
  39. end;
  40.  
  41.  
  42. readln;
  43. writeln(soluzione[i]); end;
  44. end.
  45.  
  46.  
  47.  
Success #stdin #stdout 0s 5312KB
stdin
5
76
31415926
22000000000
100666
42
stdout
0
0
0
0
42