Модераторы     Правила  
  Судовой журнал
  В помощь разработчику | Правила раздела
  Программистские голо...

Боцманы:  CTAKAH, cthulhu

 Страница   из 15    |  Показывать   на странице
Старые сначала  Тема: Программистские головоломки.
Grossmutters_G
Поручик



Сообщений: 1882

Fuzzy пишет:
Це не загадка, а вот повеселее:
1. if(x!=x) {
2. System.out.println("JLS rulez: " + x.class);
3. }

Если попасть во 2 строчку, чего на консоль выведет?
Подсказка: В JLS всё описанно...Есть очень много вариантов

Кстати, очень интересная задачка Ну, будет видимо, выведенно значение класса для переменной "русская х" или "латинская х", в зависимости от UNICODE представления идентификатора "х" во второй строке... поправьте, если я ошибаюсь
----------------------
"Было бы величайшей ошибкой думать...",-В.И.Ленин
09 Апреля 2005 11:13      
Кот Матроскин
Бывший океанец
Сообщений: 9819459

if(i==2){ i=5; } else { i=2; }

а вот такое оптимизировать и записать без логических операторов
09 Апреля 2005 13:12      
Кот Матроскин
Бывший океанец
Сообщений: 9819459

более полное условие задачи:

на вход подаётся переменная i со значением x или y;
оптимизироват` выражение

if(i==x){ i=y; } else { i=x; }

убрав все условные операторы
09 Апреля 2005 13:20      
Кот Матроскин
Бывший океанец
Сообщений: 9819459

дааааааааааааааааа ни малейшго понятия что о чё и почему вы что инопланетяне да?
09 Апреля 2005 13:24      
nesher
Штурман



Сообщений: 809

получитса что то вроде "JLS rulez: class x"
x во второй строчке должен быт классом а не переменой. т.е где то должен быт обявлен class x{}.
а оба x в if, как писал Grossmutters_G скорей всего переменые латинская х и русская х.

правельно?
09 Апреля 2005 13:42      
Кот Матроскин
Бывший океанец
Сообщений: 9819459

Цитата:
скорей всего переменые латинская х и русская х



a razve dobuskajutsja nazvanija peremennyh kirillicei?
09 Апреля 2005 13:52      
Кот Матроскин
Бывший океанец
Сообщений: 9819459

Чисто теоретическая задача, практическое применение равно нулю. Имеется банк данных (Oracle или MS-SQL, но не MySQL) с двумя таблицами (T1 и T2). Первая таблица имеет поля A и B, вторая C и D. Имеется запрос:
SELECT DISTINCT A FROM T1, T2;
Надо найти запрос, выполняющийся быстрее данного, но выдающий ПОЛНОСТЬЮ ЭКВИВАЛЕНТНЫЙ результат, независимо от содержимого T1 и T2.

P.S.: Vodila, тебя просьба не вмешиваться ;-)
09 Апреля 2005 15:19      
Кот Матроскин
Бывший океанец
Сообщений: 9819459

M_e_p_h_i_s_t_o пишет:
Чисто теоретическая задача, практическое применение равно нулю. Имеется банк данных (Oracle или MS-SQL, но не MySQL) с двумя таблицами (T1 и T2). Первая таблица имеет поля A и B, вторая C и D. Имеется запрос:
SELECT DISTINCT A FROM T1, T2;
Надо найти запрос, выполняющийся быстрее данного, но выдающий ПОЛНОСТЬЮ ЭКВИВАЛЕНТНЫЙ результат, независимо от содержимого T1 и T2.

P.S.: Vodila, тебя просьба не вмешиваться ;-)



nu vidimo SELECT A FROM T1, T2 GROUP BY A
09 Апреля 2005 15:39      
Кот Матроскин
Бывший океанец
Сообщений: 9819459

another пишет:
nu vidimo SELECT A FROM T1, T2 GROUP BY A

Неверно. Результат аналогичен, но значительного ускорения нет (если оно вообще есть).
09 Апреля 2005 15:57      
Gromio
Штурман



Сообщений: 702

M_e_p_h_i_s_t_o пишет:
Чисто теоретическая задача, практическое применение равно нулю. Имеется банк данных (Oracle или MS-SQL, но не MySQL) с двумя таблицами (T1 и T2). Первая таблица имеет поля A и B, вторая C и D. Имеется запрос:
SELECT DISTINCT A FROM T1, T2;
Надо найти запрос, выполняющийся быстрее данного, но выдающий ПОЛНОСТЬЮ ЭКВИВАЛЕНТНЫЙ результат, независимо от содержимого T1 и T2.

P.S.: Vodila, тебя просьба не вмешиваться ;-)


SELECT DISTINCT A FROM T1

T2 i distinct ... lol
----------------------
G.R.O.M.I.O.: General Replicant Optimized for Mandatory Infiltration and Observation
09 Апреля 2005 16:00      
StackOverflow
Капитан 1го ранга



Сообщений: 5616

M_e_p_h_i_s_t_o пишет:
Неверно. Результат аналогичен, но значительного ускорения нет (если оно вообще есть).


А почему бы просто не убрать T2 из запроса? он ведь все равно не содержит столбец A, соответственно, не будет создаваться karthesisches Produkt между T1 и Т2.
----------------------
Московское судейство нас не страшит!
09 Апреля 2005 16:02      
Кот Матроскин
Бывший океанец
Сообщений: 9819459

ja byl ne prav,

pravil'no

SELECT DISTINCT A FROM (SELECT A FROM T1 UNION SELECT A FROM T2);
09 Апреля 2005 16:07      
StackOverflow
Капитан 1го ранга



Сообщений: 5616

another пишет:
ja byl ne prav,

pravil'no

SELECT DISTINCT A FROM (SELECT A FROM T1 UNION SELECT A FROM T2);


Где в Т2 аттрибут А?
----------------------
Московское судейство нас не страшит!
09 Апреля 2005 16:09      
Кот Матроскин
Бывший океанец
Сообщений: 9819459

nemnogo optimizirovanee:

SELECT DISTINCT col FROM T1 UNION SELECT col FROM T2;
09 Апреля 2005 16:10      
Кот Матроскин
Бывший океанец
Сообщений: 9819459

Gromio пишет:
SELECT DISTINCT A FROM T1

T2 i distinct ... lol

Правильный путь, но пока еще неверное решение. Пока eсть один случай, когда результаты твоего запроса и изначальной Query будут различаться.
09 Апреля 2005 16:11      
Gromio
Штурман



Сообщений: 702

M_e_p_h_i_s_t_o пишет:
Правильный путь, но пока еще неверное решение. Пока есть один случай, когда результаты твоего запроса и изначальной Qуеры будут различаться.

Да ну ?
From Т1,Т2 мултиплицирует таблици так ?
t.e. imeem kak-by count(t1)*count(t2) zapisej ...

delaem select A na takuju "Tabllicu"
poluchim to-zhe chto T1 no * count (T2) raz

Distinkt udalit vse duplikaty ... t.e. Sdelaet prosto

select distinct A from T1
----------------------
G.R.O.M.I.O.: General Replicant Optimized for Mandatory Infiltration and Observation
09 Апреля 2005 16:15      
Кот Матроскин
Бывший океанец
Сообщений: 9819459

Gromio пишет:
Да ну ?
From Т1,Т2 мултиплицирует таблици так ?
t.e. imeem kak-by count(t1)*count(t2) zapisej ...

delaem select A na takuju "Tabllicu"
poluchim to-zhe chto T1 no * count (T2) raz

Distinkt udalit vse duplikaty ... t.e. Sdelaet prosto

select distinct A from T1

Все, что ты сказал - верно. Именно так оно и происходит. Но ты не учел одного специального случая.
09 Апреля 2005 16:30      
nesher
Штурман



Сообщений: 809

another пишет:
а разве добускаются названия переменных кириллицеи?

да, сохранаеш *.java файл в unicode и пиши названия переменых на любом языке.
09 Апреля 2005 16:32      
Кот Матроскин
Бывший океанец
Сообщений: 9819459

почему не катит UNION, с ним же данные не мултиплицируются а складываются?
09 Апреля 2005 16:32      
Кот Матроскин
Бывший океанец
Сообщений: 9819459

another пишет:
почему не катит UNION, с ним же данные не мултиплицируются а складываются?

По той же причине, по которой не катит решение Gromio, из-за того же специального случая.
09 Апреля 2005 16:35      
 Страница   из 15    |  Показывать   на странице
Перейти в
© Stanislav Neuberger 2001-2K24 · Impressum · Служба поддержки