Дискуссионный математический форумМатематический форум

Математический форум Math Help Planet

Обсуждение и решение задач по математике, физике, химии, экономике

Теоретический раздел
Часовой пояс: UTC + 3 часа [ Летнее время ]
MathHelpPlanet.com RSS-лента Математического форума

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Количество перестановок
СообщениеДобавлено: 15 фев 2018, 22:00 
Не в сети
Одарённый
Зарегистрирован:
02 дек 2015, 11:16
Сообщений: 179
Cпасибо сказано: 93
Спасибо получено:
3 раз в 3 сообщениях
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
Добрый день!

Есть генератор чисел.
Генерируются натуральные числа от 1 до 10 включительно.
Условно, есть переменная(коробка), куда записывается(кладется) максимальное число.
Изначально переменная равна первому элементу.
Есть количество раз, сколько эта переменная (коробка) изменяется (обновляется)
Нужно подсчитать количество перестановок которое может выдать генератор, чтобы удовлетворять условию о изменении переменной.

Конкретный пример:
1.
Переменная (max) должна изменится 9 раз.
Ответ: кол-во перестановок - 1, а именно:
1 2 3 4 5 6 7 8 9 10
max = 1
1-я итерация - max не изменяется(равен самому себе)
2-я итерация - max = 2 (изменилась 1 раз)
ну и тд.
Здесь всё ясно.

2. Переменная (max) изменяется 0 раз
10 1 2 3 4 5 6 7 8 9
max = 10
1-я итерация - max не изменяется
2-я итерация - max не изменяется, т.к меньше и тд
Становится ясно, что таких перестановок = 9!
Просто переставляем оставшиеся 9 элементов

Как подсчитать перестановок в других случаях, когда изменяется 1, 2, и тд раз ?

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Количество перестановок
СообщениеДобавлено: 15 фев 2018, 23:22 
Не в сети
Light & Truth
Зарегистрирован:
10 дек 2013, 02:33
Сообщений: 2305
Cпасибо сказано: 164
Спасибо получено:
293 раз в 284 сообщениях
Очков репутации: 38

Добавить очки репутацииУменьшить очки репутации
Вы можете нормально сформулировать задачу.

Вам что нужно?

Составить код программы генерации массива случайных чисел?

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Количество перестановок
СообщениеДобавлено: 15 фев 2018, 23:29 
Не в сети
Одарённый
Зарегистрирован:
02 дек 2015, 11:16
Сообщений: 179
Cпасибо сказано: 93
Спасибо получено:
3 раз в 3 сообщениях
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
sergebsl писал(а):
Вы можете нормально сформулировать задачу.

Ну, я старался, чтобы было более-менее понятно
sergebsl писал(а):
Составить код программы генерации массива случайных чисел?

Нет.

sergebsl писал(а):
Вам что нужно?

Зная количество выполнение оператора изменения результата, узнать количество возможных перестановок.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Количество перестановок
СообщениеДобавлено: 15 фев 2018, 23:36 
Не в сети
Одарённый
Зарегистрирован:
02 дек 2015, 11:16
Сообщений: 179
Cпасибо сказано: 93
Спасибо получено:
3 раз в 3 сообщениях
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
И так, начну с начала.
Есть массив чисел от 1 до 10
Есть переменная(max), в которой будет хранится максимум из данного диапазона.
На этапе инициализации переменная равна первому элементу массива.
Псевдо-код:
1. array = { 1,2,3,4,5,6,7,8,9,10 } 
2. max = array[1]
3. for i=1 to n do
4. if array[i] > max
5. max = array[i]

Итого. Заведомо известно, сколько раз выполняется оператор 5 (изменяется переменная max)
Нужно составить таблицу. Первая колонка - кол-во выполнение оператора 5. Вторая - кол-во возможных перестановок. Есть еще третья с вероятностью, но она меня пока мало интересует.
Случай когда оператор 5 выполняется 9 раз - я посчитал. 0 раз - тоже.
Когда оператор выполняется 0 раз - означает что первая переменная и так максимальна.
Т.е исходный массивы выглядит так:
array = { 10,1,2,3,4,5,6,7,8,9}
max = array[1]
Здесь, по-мимо данной комбинации, может быть еще 9! комбинаций, которые подходят под условия, на подобии
{ 10,1,3,2,4,5,6,7,8,9}
{ 10,1,2,4,3,5,6,7,8,9}
и тд.

Не получается посчитать остальные.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Количество перестановок
СообщениеДобавлено: 16 фев 2018, 00:15 
Не в сети
Light & Truth
Зарегистрирован:
10 дек 2013, 02:33
Сообщений: 2305
Cпасибо сказано: 164
Спасибо получено:
293 раз в 284 сообщениях
Очков репутации: 38

Добавить очки репутацииУменьшить очки репутации
начальное значение max принимается за 0, при условии, если все элеиенты массива array положительные.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Количество перестановок
СообщениеДобавлено: 16 фев 2018, 00:18 
Не в сети
Light & Truth
Зарегистрирован:
10 дек 2013, 02:33
Сообщений: 2305
Cпасибо сказано: 164
Спасибо получено:
293 раз в 284 сообщениях
Очков репутации: 38

Добавить очки репутацииУменьшить очки репутации
Всевозможное число наборов array равно n!=1•2•3•4•5•…•n

n - размерность массива

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Количество перестановок
СообщениеДобавлено: 16 фев 2018, 00:27 
Не в сети
Light & Truth
Зарегистрирован:
10 дек 2013, 02:33
Сообщений: 2305
Cпасибо сказано: 164
Спасибо получено:
293 раз в 284 сообщениях
Очков репутации: 38

Добавить очки репутацииУменьшить очки репутации

if array[i]>max then do
begin
max:=array[i];
k:=k+1;
end


k - счётчик числа присваиваний переменной max

перед циклом, естественно, его обнуляем.

после того, как перебрали все элементы массива, выводим k на экран.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Количество перестановок
СообщениеДобавлено: 16 фев 2018, 00:34 
Не в сети
Light & Truth
Зарегистрирован:
10 дек 2013, 02:33
Сообщений: 2305
Cпасибо сказано: 164
Спасибо получено:
293 раз в 284 сообщениях
Очков репутации: 38

Добавить очки репутацииУменьшить очки репутации
Анализ алгоритма пузырьковой сортировки

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Количество перестановок
СообщениеДобавлено: 16 фев 2018, 14:17 
Не в сети
Одарённый
Зарегистрирован:
02 дек 2015, 11:16
Сообщений: 179
Cпасибо сказано: 93
Спасибо получено:
3 раз в 3 сообщениях
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
sergebsl писал(а):
начальное значение max принимается за 0, при условии, если все элеиенты массива array положительные.

Еще раз. По условию, начальное значение max = array[1], т.е первому элементу массива. И точка. Никаких изменений в коде.

sergebsl писал(а):
k - счётчик числа присваиваний переменной max

sergebsl писал(а):
Всевозможное число наборов array равно n!=1•2•3•4•5•…•n

Всё это очевидно. Я не просил вас писать какой-то код.

Еще раз.
У меня УЖЕ известно значение k. Никакого кода писать не нужно, нужно математически с помощью комбинаторики подсчитать количество подходящих массивов.
Задача следующая:
Задано количество изменений счетчика k. (число от 0 до 9, если массив размерностью 10 элементов.)
Необходимо найти количество массивов array, которые будут удовлетворять данному условию.
Например. Счетчик k = 0.
Количество подходящих массивов: 9!
А именно
array = {10,1..9} // где остальные 9 элементов переставляются между собой
max = array[1]
k =0
for i=1 to n do:
if array[i] > max
max = array[i]
k=k+1

Очевидно что, значение переменной k в данном случае не увеличится никогда, т.е равно 0.

Аналогично нужно с помощью Комбинаторики(если это в целом возможно для остальных случаев), подсчитать количество подходящих массивов, при которых счетчик k будет равен 2, 3...8 (вариант для девяти я уже подсчитал, в предыдущих постах). Никакой код писать не нужно.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Количество перестановок
СообщениеДобавлено: 16 фев 2018, 14:35 
Не в сети
Light & Truth
Зарегистрирован:
10 дек 2013, 02:33
Сообщений: 2305
Cпасибо сказано: 164
Спасибо получено:
293 раз в 284 сообщениях
Очков репутации: 38

Добавить очки репутацииУменьшить очки репутации
Всё зависит от того, какой номер имеет максимальный элемент в массиве.

Мы циклически за один раз перебираем элементы массива.

Если допустим первым будет минимальный элемент, то надо будет перебрать все элементы с последующим присваиваним переменной max, пока не наткнёмся на максимальный

Вернуться к началу
 Профиль  
Cпасибо сказано 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу 1, 2, 3  След.

 Похожие темы   Автор   Ответы   Просмотры   Последнее сообщение 
Посчитать количество перестановок

в форуме Линейная и Абстрактная алгебра

dorr

3

492

12 мар 2014, 18:33

Найти количество перестановок с условием

в форуме Комбинаторика и Теория вероятностей

DonkeyKong245

1

367

12 апр 2015, 11:43

Подсчитать количество различных перестановок цифр

в форуме Комбинаторика и Теория вероятностей

fheeda

7

1094

20 апр 2015, 19:27

Умножение перестановок (группа перестановок)

в форуме Линейная и Абстрактная алгебра

Andreww

4

56

02 дек 2018, 06:43

Композиция перестановок

в форуме Линейная и Абстрактная алгебра

hotclover

2

365

11 янв 2015, 19:00

Умножение перестановок

в форуме Дискретная математика, Теория множеств и Логика

MIEL

7

806

15 янв 2017, 17:43

Число перестановок

в форуме Комбинаторика и Теория вероятностей

briz

4

357

05 май 2014, 11:49

Найти число перестановок

в форуме Дискретная математика, Теория множеств и Логика

Mittag

1

449

30 мар 2011, 01:55

Коммутативная композиция перестановок

в форуме Линейная и Абстрактная алгебра

portmap

0

288

19 май 2013, 20:30

Алгебра. Коммутанты. Группа перестановок

в форуме Аналитическая геометрия и Векторная алгебра

Zaliaparakira

1

93

20 дек 2017, 13:10


Часовой пояс: UTC + 3 часа [ Летнее время ]



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Яндекс.Метрика

Copyright © 2010-2018 MathHelpPlanet.com. All rights reserved