fork download
  1. var
  2. num, res : string;
  3. i, rem : integer;
  4.  
  5. function ChrToDigit(c : char) : integer;
  6. begin
  7. ChrToDigit := ord(c) - ord('0');
  8. end;
  9.  
  10. function DigitToChr(d : integer) : char;
  11. begin
  12. DigitToChr := chr(d + ord('0'));
  13. end;
  14.  
  15. begin
  16. num := '54765287694769587387647836748';
  17. res := '';
  18. rem := 0;
  19.  
  20. for i := 1 to Length(num) do
  21. begin
  22. rem := rem * 10 + ChrToDigit(num[i]);
  23.  
  24. if (res <> '') or (rem >= 13) then {не записываем ведущие нули}
  25. res := res + DigitToChr(rem div 13);
  26.  
  27. rem := rem mod 13;
  28. end;
  29.  
  30. if res = '' then
  31. res := '0';
  32.  
  33. writeln('Результат: ', res);
  34. writeln('Остаток: ', rem);
  35. end.
Success #stdin #stdout 0s 280KB
stdin
Standard input is empty
stdout
Результат: 4212714438059199029819064365
Остаток: 3