Язык программирования Pascal
---------------------------------------------------------------------------------------------------------
Дано число Ch в десятичной системе исчисления. Написать программу, которая переводит число в систему исчисления с основанкм m.
Технічні умови: Программа читает с клавиатуры в первой строке число m (2≤m≤16) , во второй - число Ch (0≤Ch≤2+109) . Программа выводит на экран ответ в виде текстовой строки.
Пример:
Ввод:
16
1024
Вывод:
400
---------------------------------------------------------------------------------------------------------
Я то программу сделал, она работает(вроде), но на сайте для проверки пишет что не все значения подходят. Прошу сделать с нуля программу(я сам найду у себя ошибку) или указать в каком месте я ошибся.
Моё решение на фото.
Answers & Comments
Verified answer
Ответ:
const s:string='0123456789ABCDEF';//цифры СС
var n,m,ch:integer;
r:string;
begin
write('Введите число в 10 СС: ');
readln(ch);
write('Введите СС: ');
readln(m);
write('В ',m,' CC число ',ch);
if ch=0 then r:='0' else r:='';
while ch>0 do
begin
r:=s[ch mod m + 1]+r;//берем остаток от деления на CC и эту цифру пишем в начало строки
ch:=ch div m;//берем целое от деления на CC
end;
write(' равно ',r)
end.