powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / У кого есть предложения по алгоритму реализации ???
20 сообщений из 20, страница 1 из 1
У кого есть предложения по алгоритму реализации ???
    #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
У кого есть предложения по алгоритму реализации ???
    #32186247
dragonx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a chto sobstvenno nado realizovat`?
...
Рейтинг: 0 / 0
У кого есть предложения по алгоритму реализации ???
    #32186252
Simon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а зачем что-то реализовывать если ты уже знаешь конечный результат?


или там дальше идет????
1234567891*8 + 10 = 9876543138
и т д?
...
Рейтинг: 0 / 0
У кого есть предложения по алгоритму реализации ???
    #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
У кого есть предложения по алгоритму реализации ???
    #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
У кого есть предложения по алгоритму реализации ???
    #32186287
Фотография Oracle X-pert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Spasibo, no..

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

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

А дальше что ? И в какой системе счисления ?
Вообще можно конкатенировать строку '123...' переводить ее в число, дальше понятно.
...
Рейтинг: 0 / 0
У кого есть предложения по алгоритму реализации ???
    #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
У кого есть предложения по алгоритму реализации ???
    #32186312
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Violina

Класс ! Ты на PL/SQL думаешь, что-ли. Я за это время успел сообразить только КАК делать :)
...
Рейтинг: 0 / 0
У кого есть предложения по алгоритму реализации ???
    #32186360
Фотография Oracle X-pert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Spasibo.
A dlya mnogestva chisel v intervale 0 <-> 10^25??
...
Рейтинг: 0 / 0
У кого есть предложения по алгоритму реализации ???
    #32186569
Фотография 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
У кого есть предложения по алгоритму реализации ???
    #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
У кого есть предложения по алгоритму реализации ???
    #32186742
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Че то не въехал, а что в tbl ?
...
Рейтинг: 0 / 0
У кого есть предложения по алгоритму реализации ???
    #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
У кого есть предложения по алгоритму реализации ???
    #32186826
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага, круто. Ну ничего буду учить SQL :)
...
Рейтинг: 0 / 0
У кого есть предложения по алгоритму реализации ???
    #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
У кого есть предложения по алгоритму реализации ???
    #32186959
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yeah, that is slow. Can you post the query?

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


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