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);Этот алгоритм верно работает при любом порядке ввода размеров бассейна и всегда находит минимальный путь к выходу.
выводи
N, M, x, y
x1:=n-x;
y1:=m-y;
и минимальное из x,y,x1,y1
ну хоть в одном вопросе указали какой паскаль
молодец
в чем проблема?
в математике или программировании?
если напишешь
решение в математике, можно помочь в программировании,
а то думать неохота
там у тебя проверок понаделать нужно
и на <=100 и на N<>M
Алмаз не прав я сначала тоже так подумал
var x0,y0,n,m,x,y:integer;
//читаем N,M,X,Y - думаю справишься
смотрим
if n>100 then
begin
writeln('Ошибка параметра N');
end;
//также остальные проверяем
if n=m then
begin
writeln('Ошибка параметр N=M');
end;
//теперь решаем
узнаем какая стенка длинная N или M
if N>m then
begin
x0:=N;
y0:=m;
end
else
begin
x0:=M;
y0:=N;
end;
вот теперь и вычитать можно зная что х от х0, y от y0
Алгебра 9 класс. При каких значениях параметра m и n вершина параболы y=x^2 + mx + n находится в точке M(3;8)?
x0=-b/(2a)=-m/2
y0=x0²+ m•x + n=(-m/2)²+m•(-m/2)+n=-m²/4+n
при x0=3,y0=8
подробнее...
Помогите с С++ (Массивы)
#include <iostream>
#include <time.h>
using namespace std;
#define N 3
подробнее...
Как выразить переменную из формулы? 1/x=1/m+1/n; выразите переменную m и найдите её значение при x=1, n=2. ??
Выразить - это значит преобразовать равенство, чтобы слева было только m, а справа всё остальное
подробнее...
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(в минус
подробнее...
Python, Round(x, n). Проблемы с округлением.
Как это не округляет? Еще как округляет. А единичка в конце - это особенности представления чисел с
подробнее...
что такое 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 на
подробнее...
составьте: составьте и решите уравнение: f'(x) = -g'(x), если f(x)=sin^2x g(x)= cosx+cosп/12
f' ' (x)= -2cosxsinx, g ' (x)=cosx
-2sinxcosx - cosx=0
-cosx(2sinx+1)=0
cosx=0 ∨
подробнее...
ковариация cov(X;Y) и коэффицент корреляции r(X;Y)
Ковариация - это мера, учитывающая дисперсию индивидуальных значений доходности бумаги и силу
подробнее...
помогите решить задачу в pascal
var
w: array [1..100,1..100]of integer;
i,j,m,n,a,sum : integer;
begin
подробнее...