Advertisement
CrazyDiver

2 Equal nums nearby

Dec 12th, 2017
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.54 KB | None | 0 0
  1. function CountDschargs(inpt: integer): integer;
  2. var
  3.   res: integer;
  4. begin
  5.   repeat                                      //loop cycle until input eq 0
  6.     res := res + 1;                           //result var eq itself+1
  7.     inpt := inpt div 10;                      //inputed valie eq it divide 10 and get rem
  8.   until inpt = 0;                             //end of the cycle
  9.   CountDschargs := res;                       //assign to the func value res
  10. end;
  11. function FindPresDscharge(inpt: integer): integer;
  12. begin
  13.   FindPresDscharge := inpt mod 10;            //func value eq inputed divide 10 and get rem
  14. end;
  15. procedure WriteYN(num: integer);
  16. var
  17.   FutDsch, i, res: integer;
  18. begin
  19.   for i := 1 to CountDschargs(num) do         //loop cycle intil input num equal 0
  20.     begin
  21.       FutDsch := FindPresDscharge(num);       //assign to the future discharge value last discharge
  22.       num := num div 10;                      //cut the last discharge
  23.       if FindPresDscharge(num) = FutDsch then //if present discharge equal future then
  24.         res:=res+1;                           //add to checking valiable 1
  25.     end;
  26.   if res>0 then                               //if checking var >0 then
  27.     Writeln('YES')                            //write YES
  28.   else                                        //else
  29.     writeln('NO');                            //write NO
  30. end;
  31. var
  32.   inpt: integer;
  33. begin
  34.   read(inpt);                                 //read num
  35.   WriteYN(inpt);                              //write yes if there're 2 same nums near
  36. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement