Програмування 2015




program olimp2015_1;
var
i,m,m1,N,n1,s: int64;
F: boolean;
begin
  read (n);
  I:=1;
  S:=0;
  while (n>0) do
    begin
    n1:= n mod 10;
    N:= n div 10;
    M:=n;
    F:= true;
    while (m>0) do
      begin
        M1 := M mod 10;
        M:= M div 10;
        if m1=n1 then  f:=false;
      end;
    if f then begin
        S:=n1*i+S;
        I:=I*10;
        end;
    end;
  Write (S);

end.



program poslidovnist;
var
n: integer;
A:array [1..100]of integer;
I,j:integer;
M,M1,S: int64;
c,st: string;
f: boolean;

input, output : text;
begin
  Assign (input,'input.txt');
  Reset (input);
  Assign (output,'output.txt');
  Rewrite (output);
  read (input,M);
  M1:=M;
  I:=1;
  while (m1>0) do
    begin
      S:= M1 mod 10;
      M1:= M1 div 10;
      A[i]:=S;
      I:=I+1;
     end;
  N:=i;
  st:='';
  for i:=1 to n-1 do
    begin
      f:=true;
      for j:=I+1 to n-1 do
        if A[i]=A[j] then f:=false;
      if f then begin
            Str (A[i],c);
            St := c + st;
          end;
    end;
 write (output,st);
 Close (output);
 Close (input);

end.


program poslidovnist;
var
S: integer;
//A,B:array [1..100]of integer;
//I,j:integer;
M,M1: int64;
F: boolean;
st:string;
C: string;

input, output : text;
begin
  Assign (input,'input.txt');
  Reset (input);
  Assign (output,'output.txt');
  Rewrite (output);
  read (input,M);
  St:='';
  while (m>0) do
    begin
      F:= true;
      S:= m mod 10;//отбор последнего числа
      m:= m div 10;
      m1:=M;
      while m1>0 do
        begin
          if S = M1 mod 10 then F:=false;//проверка на повторение числа
          M1:= M1 div 10;
        end;
      If F then begin
            Str (s,c);// преобразует число в стороку
            st:=c+st;
          end;
    end;
 write (output,st);
 Close (output);
 Close (input);

end.



program poslidovnist;
var
n,par: integer;
A,B:array [1..100]of integer;
I,j:integer;
M,M1,S,S1: int64;

input, output : text;
begin
  Assign (input,'input.txt');
  Reset (input);
  Assign (output,'output.txt');
  Rewrite (output);
  read (input,M);
 
  M1:=M;
  I:=1;
  while (m1>0) do
    begin
      S:= M1 mod 10;
      M1:= M1 div 10;
      A[i]:=S;
      //Writeln (A[i]);
      I:=I+1;
     end;
 N:=i;
  for i:=1 to n-1 do
    begin
    B[i]:=A[n-i];
    //Write (B[i],' ');
    end;
  for i:=1 to n-2 do
    for J:=i+1 to n-1 do
      begin
      if B[i]=B[j] then b[j]:=33;
      end;
  S1:=0;
 for i:=1 to n-1 do
    if B[I]<> 33 then S1:=S1*10+B[i];
 write (output,S1);
 Close (output);
 Close (input);

end.


program zad1_string;
var
S,s1: string;
i,n: integer;
begin
  read (S);
  N:=Length (s);//количество символо
  S1:='';
  for I:=1 to n do
    if Pos (S[i],s1)=0 then S1:=S1+S[i];//если нет такого символа то 0 иначе возвращает номер позиции
  Write (S1);

end.

program factor_txt;
{знайти всі такі трьохзначні числа Н,сума факторіалів цифр кожного із цих чисел дорівнює значенню цих чисел.
результа повинен виводитися в factor.txt ////otv 145}
var
F:Text;
I,J: integer;
S1,S2,S3,f1,f2,f3,S: integer;
Ost:integer;

begin
Assign (F,'factor.txt');
Rewrite(F);
for I:=100 to 999 do
  begin
   S1:= I div 100;
   //S1:=S1*100;
   OST:= I mod 100;
   S2 := Ost DIV 10;
   //S2:=S2*10;
   S3:= Ost MOD 10;
   f1:=1; f2:=1; f3:=1;
   //if S1=0 then f1:=1 else
    for j:=1 to S1 do f1:=f1*J;
     
    for j:=1 to S2 do f2:=f2*J;
   
    for j:=1 to S3 do f3:=f3*J;
    S:=f1+f2+f3;
    if I=S then Writeln(f,I);
     
  end;
Close(F);


end.


Заготовка



program zad3_2015;
var
C : array [1..2,1..100] of real;
A, A1 : array [1..100,1..100] of real;
i,j,L : integer;
N: integer;
D,d1 :  array [1..100] of real;
min1,S,p: real;
begin
  Assign(input,'sety.txt');
  Reset (input);
  read(n);//чтение без переменной
  //Write (n);
  for I:=1 to N do
    read (c[1,i],C[2,i]);
  for I:=1 to N do
    begin
    for J:=1 to n do
      begin
        A[i,j]:=Sqrt(Sqr(C[1,i]-C[1,j])+Sqr(C[2,i]-C[2,j]));
        Write (A[i,j]:8:1,' ');
        A1[i,j]:=0;
      end;
   Writeln();    
    end;
  // min1:=30000;
   
  for I:=1 to N-1 do
    begin
    min1:=30000;
        for J:=1 to n do
        
          if (min1>A[i,j]) and (i<>j) and (A1[i,j]<>1) {and (A[i,j]<>0)} then 
              begin
                Min1:=A[i,j];
                L:=j;              
              end;
      A1 [i,l]:=1;
      A1[l,i]:=1;
      D[i]:=min1;
     end;
   
   writeln;
   S:=0;
   Assign (output,'setyrez.txt');
   Rewrite (output);
   for i:=1 to n do
    begin
      for J:=1 to N do
        begin
          Write (A1[i,j],' ');
        end;
        {write (D[i]:8:1);}
        S:=S+D[i];
        d1[i]:=s;
        Writeln;
    end;
   write (S:8:1);
   Close (input);
   Close (output);
  
end.

Немає коментарів:

Дописати коментар