DIMDEM.PAS 969 B

12345678910111213141516171819202122232425262728293031323334353637
  1. Var
  2. ainp : string;
  3. iinp,divs : longint;
  4. k,i : byte;
  5. Function ToDem(inp : string) : longint;
  6. var
  7. ret : longint;
  8. i,j : byte;
  9. incs : longint;
  10. num : byte;
  11. begin
  12. ret:=0;
  13. for i := 1 to length(inp) do
  14. begin
  15. incs := 1;
  16. for j := length(inp)-1 downto i do incs := incs * k;
  17. if ord(inp[i]) > ord('A') then num := ord(inp[i]) - ord('A')+10
  18. else num := ord(inp[i])-$30;
  19. inc(ret,num*incs);
  20. end;
  21. todem := ret;
  22. end;
  23. begin
  24. Write('Введите систему исчисления вводимого числа (k): ');
  25. ReadLn(k);
  26. Write('Введите число в k-ичной системе: ');
  27. ReadLn(ainp);
  28. Write('Введите делитель в 10-чной системе: ');
  29. ReadLn(divs);
  30. for i := 1 to Length(ainp) do
  31. ainp[i] := UpCase(ainp[i]);
  32. iinp := toDem(ainp);
  33. if iinp mod divs = 0 then WriteLN('Делится') else WriteLn('Не Делится');
  34. readln;
  35. end.