Другие языки программирования и технологии

решите задачу пожалуйста!

Улугбек любит последовательности чисел. Он выписал на карточки все числа от 1 до N. Он переставлял их до тех пор, пока не нашел К-тую перестановку в лексикографическом порядке. Найдите искомую перестановку. Формат входных данных В первой строке входного файла bynum.in записано число N (1 <= N <= 12) - количество элементов в перестановке, во второй - число K (1 <= K <= N!) - номер перестановки. Формат выходных данных Единственная строка файла должна содержать результат. Примеры: вводвывод 3 1 1 2 3
Егор Романов
Егор Романов
5 656
не стоит придираться к словам составителя задачи, элементы любой перестановки можно пронумеровать и вот он лексикографический порядок))) )

вот классический алгоритм на паскале:
http://window.edu.ru/window_catalog/files/r24334/2003_2_84.pdf

а мы замутим на VBA рабоче-крестьянский:

Sub p57260896()
kkk = 76
nnn = 0
stop1 = False
For i5 = 1 To 5
For i4 = 1 To 5
For i3 = 1 To 5
For i2 = 1 To 5
For i1 = 1 To 5
If i1 <> i2 And i1 <> i3 And i1 <> i4 And i1 <> i5 Then
If i2 <> i3 And i2 <> i4 And i2 <> i5 Then
If i3 <> i4 And i3 <> i5 Then
If i4 <> i5 Then
nnn = nnn + 1
End If
End If
End If
End If
If nnn = kkk Then
stop1 = True
End If
If stop1 Then
Exit For
End If
Next i1
If stop1 Then
Exit For
End If
Next i2
If stop1 Then
Exit For
End If
Next i3
If stop1 Then
Exit For
End If
Next i4
If stop1 Then
Exit For
End If
Next i5
Cells(1, 1) = "" + Str(i5) + Str(i4) + Str(i3) + Str(i2) + Str(i1)
End Sub
идея простая: перебираем цифирьки отбрасывая при счете одинаковые цифры
и останавливаемся на заданом номере
ответ получим:
при номере перестановки = 76
перестановка из 5 элементов = 4 1 3 5 2
Елтаев Атабек
Елтаев Атабек
90 912
Лучший ответ
Ну для первой перестановки и так понятно, что будет.
А для входных данных: 3 2
или 3 5?
И почему для "лексикографического порядка" должно быть N! перестановок?
Вот определение из википедии:
Лексикографический порядок последовательностей предполагает, что последовательность предшествует последовательности, если для некоторого их начальные отрезки длины равны, а -й член последовательности меньше.
Примеры лексикографического порядка:
- последовательность чисел в любой системе счисления, записанных в фиксированной разрядной сетке (000, 001, 002, 003, 004, 005, …, 999)
- порядок слов в словаре. Предполагается, что буквы можно сравнивать, сравнивая их номера в алфавите. Тогда лексикографический порядок — это, например, ААА, ААБ, ААВ, ААГ, …, ЯЯЯ.

А в твоём случае, наверное, подразумевается тривиальная престановка!
Просто составитель задачи решил немного повыё....живаться!!!
пиши на почту
Abdulatif Mahmudov Так это ты ему на почту ответ пиши. Он уже задал вопрос.