Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2008, 09:21   #1
МаксимNEWProgramm
Пользователь
 
Аватар для МаксимNEWProgramm
 
Регистрация: 04.04.2008
Сообщений: 57
По умолчанию Уранение

read(a,b,c);
abs(abs(x)+a)+abs(x+b)+c=0 -наити Х в интервалле от [-100000000....100000000];
нужно срочно!
Программированине-это не очередная пара, а искуство показать себя!!!
МаксимNEWProgramm вне форума Ответить с цитированием
Старый 26.04.2008, 09:35   #2
МаксимNEWProgramm
Пользователь
 
Аватар для МаксимNEWProgramm
 
Регистрация: 04.04.2008
Сообщений: 57
По умолчанию

Есть вариант но он не пашит
Код:
var s,z,i,x,y,a,b,c,j:longint;g:boolean;
begin
read(a,b,c);
g:=false;
s:=abs(abs(a)*abs(b)*abs(c))*2;
x:=0;
while x>=-100000000 do
begin
   z:=abs(abs(x)+a)+abs(x+b)+c;
   if z=0 then begin write(abs(x));g:=true;break;end else
   if z>=s then break;
x:=x-1;
end;x:=1;
if g=false then
while x<=100000000 do
begin
   z:=abs(abs(x)+a)+abs(x+b)+c;
   if z=0 then begin write(abs(x));g:=true;break;end else
   if z>=s then break;
x:=x+1;
end;
end.
Программированине-это не очередная пара, а искуство показать себя!!!
МаксимNEWProgramm вне форума Ответить с цитированием
Старый 26.04.2008, 10:54   #3
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

abs(abs(x)+a)+abs(x+b)+c=0

Нужно рассмотреть все варианты
1. Предположим: x >= 0, a >= -x, b >= -x
- раскрываем скобки
x+a+x+b+c = 0
x = (-c-b-a)/2
Проверяем полученное x по условиям x >= 0, a > -x, b > -x
Если подходит, является решением.


2. x >= 0, a >= -x, b < -x
x+a+ -(x+b) +c = 0
т.е. abs(x+b) для b < -x будет отрицательным, поэтому меняем знак и убираем abs.

и т.д.
alexBlack вне форума Ответить с цитированием
Старый 26.04.2008, 11:09   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Угу. и ещё добавлю.
Решение уравнения существует ТОЛЬКО при C<=0

т.к. исходное выражение abs(...)+abs(..)+C = 0
abs(...) всегда >= 0 - значит C должно быть ноль (если первый два выражения abs = 0
или C должно быть отрицательным, чтобы уравнять сумму этих abs()
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.04.2008, 11:46   #5
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Нормальное школьное уравнение с параметрами, которые любят включать в часть С на ЕГЭ. Ясно, что нужно рассмотреть несколько вариантов и найти значение х при разных a,b,c. Нет, товарищ ищет z.
puporev вне форума Ответить с цитированием
Старый 26.04.2008, 12:05   #6
МаксимNEWProgramm
Пользователь
 
Аватар для МаксимNEWProgramm
 
Регистрация: 04.04.2008
Сообщений: 57
По умолчанию

спасибо выручили, а то у меня при переборе( ошика времени )выводило
Программированине-это не очередная пара, а искуство показать себя!!!
МаксимNEWProgramm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск