Другие языки программирования и технологии
даю 10 баллов за задачу в Турбо паскале
Даны натуральные A и B. Необходимо написать программу, вычисляющую частное и остаток при делении A на B, не используя DIV и MOD.
алгоритм: в цикле уменьшаешь A на B, при каждом проходе цикла переменную-счётчик (инициализированную нулём) увеличиваешь на 1 и проверяешь, не стало ли A меньше B. если стало - выходишь из цикла; в переменной-счётчике у тебя частное, в A - остаток от деления.
Частное := Trunc(A/B);
Остаток := A - Частное*B;
А хотишь расскажу как это можно на асме сделать ?
Остаток := A - Частное*B;
А хотишь расскажу как это можно на асме сделать ?
Проще ведь с ними DIV и MOD
k:=0;
while a>b do begin
a:=a-b;
k:=k+1;
end;
после того, как цикл проработает, "а" будет остатком, а "k" частным =)
while a>b do begin
a:=a-b;
k:=k+1;
end;
после того, как цикл проработает, "а" будет остатком, а "k" частным =)
Алгоритм основан на методе деления "столбиком".
var
a, b: integer;
m, d, bb: integer;
begin
write('a = ');
readln(a);
write('b = ');
readln(b);
if b = 0 then
writeln('Error: division by zero')
else
begin
d := 0;
m := a;
bb := b;
while (m >= bb) and (bb > 0) do
bb := bb shl 1;
bb := bb shr 1;
while bb >= b do
begin
d := d shl 1;
if m >= bb then
begin
dec(m, bb);
inc(d)
end;
bb := bb shr 1;
end;
writeln(a, ' div ', b, ' = ', d, ' ', a, ' mod ', b, ' = ', m)
end;
readln
end.
var
a, b: integer;
m, d, bb: integer;
begin
write('a = ');
readln(a);
write('b = ');
readln(b);
if b = 0 then
writeln('Error: division by zero')
else
begin
d := 0;
m := a;
bb := b;
while (m >= bb) and (bb > 0) do
bb := bb shl 1;
bb := bb shr 1;
while bb >= b do
begin
d := d shl 1;
if m >= bb then
begin
dec(m, bb);
inc(d)
end;
bb := bb shr 1;
end;
writeln(a, ' div ', b, ' = ', d, ' ', a, ' mod ', b, ' = ', m)
end;
readln
end.
а на с++ или java ни нужно?
Похожие вопросы
- Помогите решить задачу на Турбо паскале
- решите плиз задачу на Турбо Паскале дам 10 баллов
- помогите с решение задачи на Турбо паскале
- Народ! Срочно! Помогие решить задач в Турбо Паскале!!!!Лучший ответ гарантирую!
- Помогите решить задачу в турбо паскаль
- помогите решить задачу на турбо паскале
- кто может решить задачу в турбо паскале, по двумерным массивам
- Задачи в Турбо Паскале!!!
- Напишите 5 задач по турбо Паскалю при решение которых нужна только переменная i . Помогите пожалуйста!
- Срочно! Даю 10 баллов!