• Помогите пожалуйста!
    Нужно написать программу которая возводит число(n) в какой то системе счисления(p) в какую то другую (q). (системы счисления до 10)
    Самое главное, не понимаю как перевести число в десятичную систему счисления на паскале(не всю если программу то хотя бы этот цикл по возведению числа в степень) .

Ответы 2

  • Замечание: при неверной записи числа или нарушения требований к основаниям систем счисления программа может повести себя непредсказуемо! Можно добавить проверки и диагностику, но при этом объем программы существенно возрастет и алгоритм усложнится.
    • Автор:

      velazquez
    • 5 лет назад
    • 0
  • function aToDec(n:string;k:integer):longint;{ Перевод из системы по основанию k в десятичную }var  i:integer;  pa,s:longint;begin  s:=0;  pa:=1;  for i:=Length(n) downto 1 do begin    s:=s+pa*(Ord(n[i])-Ord('0'));    pa:=pa*k    end;  aToDec:=send;function DecToa(n:longint;k:integer):string;{ Перевод из десятичной системы в систему по основанию k }var  s:string;  c:integer;begin  s:='';  c:=Ord('0');  while n>0 do begin    s:=Chr(c+n mod k)+s;    n:=n div k    end;  DecToa:=send;function AtoB(s:string;A,B:integer):string;{ Перевод из системы по основанию A в систему по основанию B }begin  AtoB:=DecToa(aToDec(s,A),B)end;    var  a,b:integer;  n:string;begin  Write('Число в c/c по основанию [2;10]: '); Readln(n);  Writeln('Укажите исходное и результирующее основания: ');  Read(a,b);  Writeln(n,'(',a,') = ',AtoB(n,a,b),'(',b,')');end.Пример решенияЧисло в c/c по основанию [2;10]: 643342414Укажите исходное и результирующее основания: 7 9643342414(7) = 80050347(9)
    • Автор:

      martin14
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years