Предмет: Информатика, автор: 2003dima1

Помогите с инфой. PascalABC
На вход программе подаются два целых числа m и n, по модулю не превосходящие 10^6. Если m делится на n или n делится на m, то требуется вывести 1, в противном случае - любое другое число.
Условный оператор использовать нельзя!
Входные данные
целые числа m, n
Выходные данные
1 или другое целое число.
Необходимо рассмотреть вариант с делением на 0(вывести любое кроме 1)


Удачник66: Больше всего бесят такие задания. Ау, ребята! Как вы будете проверять факт делимости, если условный оператор использовать нельзя?
2003dima1: Задача повышенной сложности с сайта для изучения программирования и у неё есть решение (так как её решили другие пользователи). informatics.mccme.ru

Ответы

Автор ответа: differchanel
0
var m,n,s,x:integer;beginreadln(m,n);x:=m;while (m>0)and(n<>0)and(x>=n) dom:=m-n;s:=0;while m<1 dobegins:=s+1;m:=m+1end;
m:=x;x:=n;while (n>0)and(m<>0)and(x>=m) dobeginn:=n-m; s:=0end;while n<1 dobeginn:=n+1;s:=s+1end;writeln(s)end.

differchanel: var m,n,s,x:integer;
begin
readln(m,n);
x:=m;
while (m>0)and(n<>0)and(x>=n) do
m:=m-n;
s:=0;
while m<1 do
begin
s:=s+1;
m:=m+1
end;

m:=x;
x:=n;
while (n>0)and(m<>0)and(x>=m) do
begin
n:=n-m; s:=0
end;
while n<1 do
begin
n:=n+1;
s:=s+1
end;
writeln(s)
end.
Похожие вопросы