н или м



X n m

Автор NeKtO задал вопрос в разделе Другие языки и технологии

Помогите с задачей в паскале абс и получил лучший ответ

Ответ от Jurii[гуру]
В этой задаче критически важно сначала определить, что больше: N или M, так как X — это расстояние до длинного бортика, а Y — до короткого. Если N больше M, то длинная сторона равна N, а короткая M. Иначе наоборот. Расстояния до двух длинных бортиков равны X и (короткая сторона минус X). Расстояния до коротких бортиков равны Y и (длинная сторона минус Y). Искомый ответ — это минимум из этих четырех значений. Фрагмент логики на Паскале:
if N > M then begin max_s := N; min_s := M; end
else begin max_s := M; min_s := N; end;
ans := x;
if (min_s - x) < ans then ans := min_s - x;
if y < ans then ans := y;
if (max_s - y) < ans then ans := max_s - y;
WriteLn(ans);Этот алгоритм верно работает при любом порядке ввода размеров бассейна и всегда находит минимальный путь к выходу.

Ответ от Almazkh[гуру]
выводи
N, M, x, y
x1:=n-x;
y1:=m-y;
и минимальное из x,y,x1,y1

Ответ от Ѐодион Казанин[гуру]
ну хоть в одном вопросе указали какой паскаль
молодец
в чем проблема?
в математике или программировании?
если напишешь
решение в математике, можно помочь в программировании,
а то думать неохота
там у тебя проверок понаделать нужно
и на &lt;=100 и на N&lt;&gt;M
Алмаз не прав я сначала тоже так подумал
var x0,y0,n,m,x,y:integer;
//читаем N,M,X,Y - думаю справишься
смотрим
if n&gt;100 then
begin
writeln('Ошибка параметра N');
end;
//также остальные проверяем
if n=m then
begin
writeln('Ошибка параметр N=M');
end;
//теперь решаем
узнаем какая стенка длинная N или M
if N&gt;m then
begin
x0:=N;
y0:=m;
end
else
begin
x0:=M;
y0:=N;
end;
вот теперь и вычитать можно зная что х от х0, y от y0

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Помогите с задачей в паскале абс

Помогите с С++ (Массивы)
#include <iostream>
#include <time.h>
using namespace std;

#define N 3
подробнее...

Как выразить переменную из формулы? 1/x=1/m+1/n; выразите переменную m и найдите её значение при x=1, n=2. ??
Выразить - это значит преобразовать равенство, чтобы слева было только m, а справа всё остальноеподробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:

32 карты "Спортлото 5 из 36" я заполнил так: 1-2-3-4-5; 1-2-3-4-6; и т. д. , до 1-2-3-4-36. Для выигрыша требуется...
Что значит в данном вопросе слово "разумно"? С точки зрения чего? С точки зрения получения
подробнее...

Выразите абсолютную массу одного атома меди в г и кг.
В килограммах 64х1,673*10 (в минус -27) =
1,07х10(в минус -25)
В граммах 1,07х10(в минус
подробнее...
спросили в Reanimedia
Python, Round(x, n). Проблемы с округлением.
Как это не округляет? Еще как округляет. А единичка в конце - это особенности представления чисел с
подробнее...
спросили в Релиз 603 год
что такое Mac OS X?
Mac OS X (читается как «Мак ОС тэн», где X обозначает римскую цифру 10) — это операционная система,
подробнее...

Решите sin^2(x)+sin^2(5x)=1 Объясните как решить
Можно воспользоваться формулой понижения степени синуса sin^2(x)=(1-cos(2x))/2.
Тогда получим
подробнее...

помогите решить: Найти промежуток спадания функции: y=x^2+8x+1
Решение:
1 способ
y '=2x+8
2x+8=0
x=-4-критическая точка
y '<0 на
подробнее...

ковариация cov(X;Y) и коэффицент корреляции r(X;Y)
Ковариация - это мера, учитывающая дисперсию индивидуальных значений доходности бумаги и силу
подробнее...
спросили в Randomness
помогите решить задачу в pascal
var
w: array [1..100,1..100]of integer;
i,j,m,n,a,sum : integer;

begin
подробнее...
Н или М на Википедии
Посмотрите статью на википедии про Н или М
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*