powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Задачка
11 сообщений из 11, страница 1 из 1
Задачка
    #37720985
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть целочисленный массив. Надо представить его в виде "числа" в котором каждый элемент массива это число обозначающее максимальную цифру для соответствующей позиции "числа". Надо "просчитать" от нуля до максимума.

Например, если имеется массив: {0, 2, 1, 4, 0}
Надо напечатать:
0, 0, 0, 0, 0
0, 0, 0, 1, 0
0, 0, 0, 2, 0
0, 0, 0, 3, 0
0, 0, 0, 4, 0
0, 0, 1, 0, 0
0, 0, 1, 1, 0
0, 0, 1, 2, 0
0, 0, 1, 3, 0
0, 0, 1, 4, 0
0, 1, 0, 0, 0
0, 1, 0, 1, 0
0, 1, 0, 2, 0
0, 1, 0, 3, 0
0, 1, 0, 4, 0
0, 1, 1, 0, 0
0, 1, 1, 1, 0
0, 1, 1, 2, 0
0, 1, 1, 3, 0
0, 1, 1, 4, 0
0, 2, 0, 0, 0
0, 2, 0, 1, 0
0, 2, 0, 2, 0
0, 2, 0, 3, 0
0, 2, 0, 4, 0
0, 2, 1, 0, 0
0, 2, 1, 1, 0
0, 2, 1, 2, 0
0, 2, 1, 3, 0
0, 2, 1, 4, 0
...
Рейтинг: 0 / 0
Задачка
    #37721030
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Грубо говоря это последовательность чисел в смешанной
позиционной системе счисления.
...
Рейтинг: 0 / 0
Задачка
    #37721094
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А на каком языке-то?
И вообще, это полное множество состояний... Считается обычно рекурсией.
Если надо оптимизировать (или есть условия оптимизации) - то по скорости будет будет быстрее через ДП.
...
Рейтинг: 0 / 0
Задачка
    #37721183
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: pascal
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.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
type
  TMyArray= array of integer;

function MyNext(var Point, Bound: TMyArray): boolean;
var
  i: integer;
begin;
  for i:=Length(Point)-1 downto 0 do begin;
    if Point[i]<Bound[i] then begin;
      inc(Point[i]);
      Result:=true;
      exit;
      end
    else Point[i]:=0;
    end;
  Result:=false;
  end;

procedure TForm1.FormCreate(Sender: TObject);
var
  Point, Bound: TMyArray;
begin;
  SetLength(Point,5);
  Point[0]:=0;
  Point[1]:=0;
  Point[2]:=0;
  Point[3]:=0;
  Point[4]:=0;

  SetLength(Bound,5);
  Bound[0]:=0;
  Bound[1]:=2;
  Bound[2]:=1;
  Bound[3]:=4;
  Bound[4]:=0;

  repeat;
    Memo1.Lines.Add(Format('%d%d%d%d%d',[Point[0],Point[1],Point[2],Point[3],Point[4]]));
    until not MyNext(Point,Bound);
  end;
...
Рейтинг: 0 / 0
Задачка
    #37721197
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl,

а, так сказать, "средствами баз данных" - нипайдёт ?
...
Рейтинг: 0 / 0
Задачка
    #37721244
kDnZP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl, лехко

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
; WITH cte AS (
SELECT 0 a, 2 b, 1 c, 4 d, 0 e
)
SELECT t1.number a, t2.number b, t3.number c, t4.number d, t5.number e
FROM cte t
JOIN master..spt_values t1 ON t1.number<=t.a AND t1.type='p'
JOIN master..spt_values t2 ON t2.number<=t.b AND t2.type='p'
JOIN master..spt_values t3 ON t3.number<=t.c AND t3.type='p'
JOIN master..spt_values t4 ON t4.number<=t.d AND t4.type='p'
JOIN master..spt_values t5 ON t5.number<=t.e AND t5.type='p'
ORDER BY 1,2,3,4,5
...
Рейтинг: 0 / 0
Задачка
    #37721255
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
with  
a as (select 0 as dig union all select dig+1 from a where dig<0),
b as (select 0 as dig union all select dig+1 from b where dig<2),
c as (select 0 as dig union all select dig+1 from c where dig<1),
d as (select 0 as dig union all select dig+1 from d where dig<4),
e as (select 0 as dig union all select dig+1 from e where dig<0)

select a.dig, b.dig, c.dig, d.dig, e.dig
from a, b, c, d, e
order by 1, 2, 3, 4, 5
...
Рейтинг: 0 / 0
Задачка
    #37721549
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTMА на каком языке-то?Да на каком хочешь, на таком и делаешь :)
Мне просто сама задача понравилась. В принципе довольно простая, но оптимальный алгоритм ее решения не самый очевидный.
...
Рейтинг: 0 / 0
Задачка
    #37721551
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По счастливым билетикам напомнилось.
...
Рейтинг: 0 / 0
Задачка
    #37721687
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonПо счастливым билетикам напомнилось.Неа. Источник задачи - scheduler с приоритетными очередями.
...
Рейтинг: 0 / 0
Задачка
    #37721725
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl,

это совсем другая опера.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Задачка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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