Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / У кого есть предложения по алгоритму реализации ??? / 20 сообщений из 20, страница 1 из 1
19.06.2003, 11:10:39
    #32186231
Oracle X-pert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
У кого есть предложения по алгоритму реализации ???
Hey, All!

1 x 8 + 1 = 9
12 x 8 + 2 = 98
123 x 8 + 3 = 987
1234 x 8 + 4 = 9876
12345 x 8 + 5 = 98765
123456 x 8 + 6 = 987654
1234567 x 8 + 7 = 9876543
12345678 x 8 + 8 = 98765432
123456789 x 8 + 9 = 987654321


OS Sun Solaris9 / Oracle 9i { PL/SQL | SQL92 }
Interface:: Forms9i
Level: 25 Group
Runtime Limit : 4.5 sec.
at 30 000 Online requests..
...
Рейтинг: 0 / 0
19.06.2003, 11:20:51
    #32186247
dragonx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
У кого есть предложения по алгоритму реализации ???
a chto sobstvenno nado realizovat`?
...
Рейтинг: 0 / 0
19.06.2003, 11:23:16
    #32186252
Simon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
У кого есть предложения по алгоритму реализации ???
а зачем что-то реализовывать если ты уже знаешь конечный результат?


или там дальше идет????
1234567891*8 + 10 = 9876543138
и т д?
...
Рейтинг: 0 / 0
19.06.2003, 11:28:15
    #32186259
Oracle X-pert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
У кого есть предложения по алгоритму реализации ???
Eto output.
Neobxodim 1 cycle, delaychii vyborky rows from object
i proveryaushii column NN { Integer / DWord } na eti usloviya::


nn := 123456789 - luboe chislo - integer
mm := 987654321 - nn s ziframi v obratnom poryadke
i = Level

nn * X + i = mm

X-??
...
Рейтинг: 0 / 0
19.06.2003, 11:35:40
    #32186267
dragonx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
У кого есть предложения по алгоритму реализации ???
declare
C number;
n number;
begin
C = 10
for i in 1..C LOOP
n := 0;
FOR k in 1..i LOOP
n := n +k*10^(i-k) -- oracla seichas net, ne pomnu kak v stepen` ;)
end loop
dbms_output.put_line(to_char(n)||`x`||8||`+`||to_char(i)||
`=`to_char(N*8 + i));
end loop
end
esli ya pravilno ponyal ;))))
...
Рейтинг: 0 / 0
19.06.2003, 11:51:17
    #32186287
Oracle X-pert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
У кого есть предложения по алгоритму реализации ???
Spasibo, no..

Max Value of cursor ~ 10^25. Predlogennyi prostoi perebor znachenii
ne ylogitsya v runtime limit..
...
Рейтинг: 0 / 0
19.06.2003, 12:05:03
    #32186295
Simon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
У кого есть предложения по алгоритму реализации ???
если очень важна скорость, то почему бы не сделать на c++ внешнюю процедуру???

и что-то я не понял что надо сделать:)
что на входе nn и i? и что на выходе X???
...
Рейтинг: 0 / 0
19.06.2003, 12:08:39
    #32186301
Gluk (Kazan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
У кого есть предложения по алгоритму реализации ???
123456789 x 8 + 9 = 987654321

А дальше что ? И в какой системе счисления ?
Вообще можно конкатенировать строку '123...' переводить ее в число, дальше понятно.
...
Рейтинг: 0 / 0
19.06.2003, 12:12:26
    #32186306
Violina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
У кого есть предложения по алгоритму реализации ???
Вот так у меня намного быстрее работает чем с возведением в степень

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
declare

  curr varchar( 10 ) := '';
  result number( 20 );

begin

  for i in  1 .. 9  loop
    curr := curr || i;
    result := to_number(curr)* 8  + i;
    dbms_output.put_line(curr || ' x 8 + ' || i || ' = ' || result);
  end loop;

end;

 1  x  8  +  1  =  9 
 12  x  8  +  2  =  98 
 123  x  8  +  3  =  987 
 1234  x  8  +  4  =  9876 
 12345  x  8  +  5  =  98765 
 123456  x  8  +  6  =  987654 
 1234567  x  8  +  7  =  9876543 
 12345678  x  8  +  8  =  98765432 
 123456789  x  8  +  9  =  987654321 

PL/SQL procedure successfully completed.

Elapsed:  00 : 00 : 00 . 00 
...
Рейтинг: 0 / 0
19.06.2003, 12:15:36
    #32186312
Gluk (Kazan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
У кого есть предложения по алгоритму реализации ???
2 Violina

Класс ! Ты на PL/SQL думаешь, что-ли. Я за это время успел сообразить только КАК делать :)
...
Рейтинг: 0 / 0
19.06.2003, 12:53:59
    #32186360
Oracle X-pert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
У кого есть предложения по алгоритму реализации ???
Spasibo.
A dlya mnogestva chisel v intervale 0 <-> 10^25??
...
Рейтинг: 0 / 0
19.06.2003, 15:02:42
    #32186569
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
У кого есть предложения по алгоритму реализации ???
2 Oracle X-pert:

SQL engine supports an undocumented function REVERSE (in PL/SQL you can use it only via dynamic SQL). I believe the function is used for reverse indexes. So:

Код: plaintext
1.
2.
3.
4.
5.
6.
SELECT  DECODE(
               NN *  8  + LENGTH(NN),
               TO_NUMBER(REVERSE(TO_CHAR(NN))),LENGTH(NN),
                                                0 
              ) Indicator
  FROM  tbl
/


will give you results you need.

SY.
...
Рейтинг: 0 / 0
19.06.2003, 15:40:31
    #32186645
Violina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
У кого есть предложения по алгоритму реализации ???
to Gluk

Вот это я понимаю

Код: plaintext
1.
2.
3.
4.
5.
SELECT  DECODE(
               NN *  8  + LENGTH(NN),
               TO_NUMBER(REVERSE(TO_CHAR(NN))),LENGTH(NN),
                                                0 
              ) Indicator
  FROM  tbl


не точно мы со своим PL/SQL:-)

PS
Как наставляет Том

- если можно, сделай это с помощью одного оператора SQL
- если это невозможно, сделай это в PL/SQL
- если это невозможно в PL/SQL, сделай это с помощью Java
- если это невозможно с помощью Java, сделай внешнюю процедуру на С
- если и это невозможно, надо серъезно подумать зачем это вообще нужно
...
Рейтинг: 0 / 0
19.06.2003, 16:40:26
    #32186742
Gluk (Kazan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
У кого есть предложения по алгоритму реализации ???
Че то не въехал, а что в tbl ?
...
Рейтинг: 0 / 0
19.06.2003, 16:55:22
    #32186767
Violina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
У кого есть предложения по алгоритму реализации ???
В tbl колонка NN значение которой надо проверять на выполнение условия

nn * X + i = mm

при некотором Х и узнать этот Х

где

nn := 123456789 - luboe chislo - integer
mm := 987654321 - nn s ziframi v obratnom poryadke
i = Level

данный запрос как раз для значений для которых это условие выполняется и возвращает Х. Если условие не выполняется, то возвращается 0.
...
Рейтинг: 0 / 0
19.06.2003, 17:48:34
    #32186826
Gluk (Kazan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
У кого есть предложения по алгоритму реализации ???
Ага, круто. Ну ничего буду учить SQL :)
...
Рейтинг: 0 / 0
19.06.2003, 21:12:37
    #32186912
Oracle X-pert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
У кого есть предложения по алгоритму реализации ???
Hey! Vsem bol'shoe spasibo!
2 SY Your variant ~ 1.5 min. Budu rabotat' nad optimization.
2 all. Etot algoritm primenim dlya identificazii ID( Sheremet'evo, for example...).
Topic was closed.
...
Рейтинг: 0 / 0
20.06.2003, 00:47:06
    #32186959
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
У кого есть предложения по алгоритму реализации ???
Yeah, that is slow. Can you post the query?

SY
...
Рейтинг: 0 / 0
20.06.2003, 08:58:02
    #32187033
Gluk (Kazan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
У кого есть предложения по алгоритму реализации ???
2 SY, а слабо "8 ферзей" на SQL написать :)
...
Рейтинг: 0 / 0
20.06.2003, 09:16:08
    #32187053
Simon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
У кого есть предложения по алгоритму реализации ???
ну а почему не сделать function based index по колонке NN
?????
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / У кого есть предложения по алгоритму реализации ??? / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]