Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Количество перестановок - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин  
Количество перестановок
MCH Дата: Понедельник, 18.11.2013, 22:26 | Сообщение № 1
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация: 752 ±
Замечаний: ±

В ячейке A1 находится текст (символы любые, буквы, цифры, знаки)
Необходимо формулой рассчитать, сколько возможных перестановок можно получить, используя буквы (знаки) из A1

"123" - 6
"AABBCCC" - 210
"ОКНО" - 12
"КАРАНДАШ" - 6720
"222222" - 1

Приветствуется формульное решение (т.к. макросами решается просто)
Есть формула менее 110 символов
К сообщению приложен файл: Permutation.xls (27.5 Kb)


Сообщение отредактировал MCH - Понедельник, 18.11.2013, 22:27
 
Ответить
СообщениеВ ячейке A1 находится текст (символы любые, буквы, цифры, знаки)
Необходимо формулой рассчитать, сколько возможных перестановок можно получить, используя буквы (знаки) из A1

"123" - 6
"AABBCCC" - 210
"ОКНО" - 12
"КАРАНДАШ" - 6720
"222222" - 1

Приветствуется формульное решение (т.к. макросами решается просто)
Есть формула менее 110 символов

Автор - MCH
Дата добавления - 18.11.2013 в 22:26
vikttur Дата: Вторник, 19.11.2013, 19:12 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

А я разогнался! Но "222222" - 1!
 
Ответить
СообщениеА я разогнался! Но "222222" - 1!

Автор - vikttur
Дата добавления - 19.11.2013 в 19:12
AndreTM Дата: Вторник, 19.11.2013, 23:48 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 501 ±
Замечаний: 0% ±

2003 & 2010
Принцип-то понятен - посчитать мультиномиальный коэффициент.
Я вот придумал формулу на 143 знака (120 для xl2010), но дальше пока приостановился... :)


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеПринцип-то понятен - посчитать мультиномиальный коэффициент.
Я вот придумал формулу на 143 знака (120 для xl2010), но дальше пока приостановился... :)

Автор - AndreTM
Дата добавления - 19.11.2013 в 23:48
SkyPro Дата: Среда, 20.11.2013, 01:57 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Не знаю как, но у меня получилось посчитать это формулами.
276 знаков. И я рад даже такому результату :D


skypro1111@gmail.com
 
Ответить
СообщениеНе знаю как, но у меня получилось посчитать это формулами.
276 знаков. И я рад даже такому результату :D

Автор - SkyPro
Дата добавления - 20.11.2013 в 01:57
DV Дата: Суббота, 23.11.2013, 07:25 | Сообщение № 5
Группа: Друзья
Ранг: Обитатель
Сообщений: 286
Репутация: 194 ±
Замечаний: 0% ±

Excel 2010 RUS
124
%)
 
Ответить
Сообщение124
%)

Автор - DV
Дата добавления - 23.11.2013 в 07:25
AndreTM Дата: Суббота, 23.11.2013, 13:26 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 501 ±
Замечаний: 0% ±

2003 & 2010
Ну, у меня получилось только за 131. Так что твой результат можно считать достижением :D

Кстати, Миша, - а ограничение на длину строки есть? Или считать, что в ячейке может быть строка любой (возможной) длины?


Skype: andre.tm.007
Donate: Qiwi: 9517375010


Сообщение отредактировал AndreTM - Суббота, 23.11.2013, 13:32
 
Ответить
СообщениеНу, у меня получилось только за 131. Так что твой результат можно считать достижением :D

Кстати, Миша, - а ограничение на длину строки есть? Или считать, что в ячейке может быть строка любой (возможной) длины?

Автор - AndreTM
Дата добавления - 23.11.2013 в 13:26
MCH Дата: Суббота, 23.11.2013, 14:52 | Сообщение № 7
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация: 752 ±
Замечаний: ±

Кстати, Миша, - а ограничение на длину строки есть? Или считать, что в ячейке может быть строка любой (возможной) длины?

Принципиальных ограничений не ставил, одно из решений у меня без ограничений, другое - то что строка не более 99 символов, размер формул получилось одинаковым.
Можно ограничить строку 99 символами (трудно себе представить число соответствующее 99!, ну а 200 факториал в Excel простым способом не посчитать)


Сообщение отредактировал MCH - Воскресенье, 24.11.2013, 03:12
 
Ответить
Сообщение
Кстати, Миша, - а ограничение на длину строки есть? Или считать, что в ячейке может быть строка любой (возможной) длины?

Принципиальных ограничений не ставил, одно из решений у меня без ограничений, другое - то что строка не более 99 символов, размер формул получилось одинаковым.
Можно ограничить строку 99 символами (трудно себе представить число соответствующее 99!, ну а 200 факториал в Excel простым способом не посчитать)

Автор - MCH
Дата добавления - 23.11.2013 в 14:52
DV Дата: Суббота, 23.11.2013, 17:48 | Сообщение № 8
Группа: Друзья
Ранг: Обитатель
Сообщений: 286
Репутация: 194 ±
Замечаний: 0% ±

Excel 2010 RUS
Сократил до 109
 
Ответить
СообщениеСократил до 109

Автор - DV
Дата добавления - 23.11.2013 в 17:48
MCH Дата: Суббота, 23.11.2013, 23:42 | Сообщение № 9
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация: 752 ±
Замечаний: ±

аналогично 109
 
Ответить
Сообщениеаналогично 109

Автор - MCH
Дата добавления - 23.11.2013 в 23:42
ZORRO2005 Дата: Понедельник, 25.11.2013, 09:28 | Сообщение № 10
Группа: Друзья
Ранг: Обитатель
Сообщений: 382
Репутация: 148 ±
Замечаний: 0% ±

Excel2010
169 :(
 
Ответить
Сообщение169 :(

Автор - ZORRO2005
Дата добавления - 25.11.2013 в 09:28
MCH Дата: Среда, 27.11.2013, 09:12 | Сообщение № 11
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация: 752 ±
Замечаний: ±

По задаче отписалось только пятеро участников (правда так и не понял, Виктор решил или нет)
Выкладываю UDF, может у кого нибудь еще созреет формульное решение.
[vba]
Код
Function Permutations#(ByVal s$)
      Dim i&, n&, m&, f#(), p#
      n = Len(s)
      ReDim f#(n)
      f(0) = 1
      For i = 1 To n
          f(i) = f(i - 1) * i
      Next i
      p = f(n)
      While n
          m = n
          s = Replace(s, Left(s, 1), "")
          n = Len(s)
          p = p / f(m - n)
      Wend
      Permutations = p
End Function
[/vba]


Сообщение отредактировал MCH - Среда, 27.11.2013, 10:04
 
Ответить
СообщениеПо задаче отписалось только пятеро участников (правда так и не понял, Виктор решил или нет)
Выкладываю UDF, может у кого нибудь еще созреет формульное решение.
[vba]
Код
Function Permutations#(ByVal s$)
      Dim i&, n&, m&, f#(), p#
      n = Len(s)
      ReDim f#(n)
      f(0) = 1
      For i = 1 To n
          f(i) = f(i - 1) * i
      Next i
      p = f(n)
      While n
          m = n
          s = Replace(s, Left(s, 1), "")
          n = Len(s)
          p = p / f(m - n)
      Wend
      Permutations = p
End Function
[/vba]

Автор - MCH
Дата добавления - 27.11.2013 в 09:12
vikttur Дата: Среда, 27.11.2013, 20:24 | Сообщение № 12
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Нет, не решил.
Если сразу мысль не приходит, потом нужно пробовать варианты. До них не дошел.
 
Ответить
СообщениеНет, не решил.
Если сразу мысль не приходит, потом нужно пробовать варианты. До них не дошел.

Автор - vikttur
Дата добавления - 27.11.2013 в 20:24
MCH Дата: Пятница, 29.11.2013, 12:40 | Сообщение № 13
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация: 752 ±
Замечаний: ±

Вскрываться будем?
 
Ответить
СообщениеВскрываться будем?

Автор - MCH
Дата добавления - 29.11.2013 в 12:40
AndreTM Дата: Пятница, 29.11.2013, 22:01 | Сообщение № 14
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 501 ±
Замечаний: 0% ±

2003 & 2010
Предлагаю вскрываться в воскресенье - задачка была не очень простой всё же hands
Учитывая то, что всего два человека имеют решения (менее 110) - то вообще отличная задача.
Например, у меня сейчас всего 125 (правда я уже неделю не смотрел этот топик) :D


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеПредлагаю вскрываться в воскресенье - задачка была не очень простой всё же hands
Учитывая то, что всего два человека имеют решения (менее 110) - то вообще отличная задача.
Например, у меня сейчас всего 125 (правда я уже неделю не смотрел этот топик) :D

Автор - AndreTM
Дата добавления - 29.11.2013 в 22:01
ZORRO2005 Дата: Суббота, 30.11.2013, 18:21 | Сообщение № 15
Группа: Друзья
Ранг: Обитатель
Сообщений: 382
Репутация: 148 ±
Замечаний: 0% ±

Excel2010
91
 
Ответить
Сообщение91

Автор - ZORRO2005
Дата добавления - 30.11.2013 в 18:21
MCH Дата: Суббота, 30.11.2013, 21:52 | Сообщение № 16
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация: 752 ±
Замечаний: ±


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

Автор - MCH
Дата добавления - 30.11.2013 в 21:52
MCH Дата: Суббота, 30.11.2013, 22:43 | Сообщение № 17
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация: 752 ±
Замечаний: ±

86 85


Сообщение отредактировал MCH - Суббота, 30.11.2013, 22:54
 
Ответить
Сообщение86 85

Автор - MCH
Дата добавления - 30.11.2013 в 22:43
AndreTM Дата: Воскресенье, 01.12.2013, 16:37 | Сообщение № 18
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 501 ±
Замечаний: 0% ±

2003 & 2010
Ну вы разогнались :)
Я додумался пока только до 105 (82 для xl2010)...


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеНу вы разогнались :)
Я додумался пока только до 105 (82 для xl2010)...

Автор - AndreTM
Дата добавления - 01.12.2013 в 16:37
MCH Дата: Воскресенье, 01.12.2013, 18:21 | Сообщение № 19
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация: 752 ±
Замечаний: ±

68
 
Ответить
Сообщение68

Автор - MCH
Дата добавления - 01.12.2013 в 18:21
SkyPro Дата: Воскресенье, 01.12.2013, 18:31 | Сообщение № 20
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Вы издеваетесь? У меня складывается впечатление, что и траекторию полета баллистической ракеты (с учетом всех факторов) вы бы тоже смогли посчитать одной формулой в 23 знака. А через пару дней в 17 знаков.
Поделитесь мозгами :)


skypro1111@gmail.com

Сообщение отредактировал SkyPro - Воскресенье, 01.12.2013, 18:31
 
Ответить
СообщениеВы издеваетесь? У меня складывается впечатление, что и траекторию полета баллистической ракеты (с учетом всех факторов) вы бы тоже смогли посчитать одной формулой в 23 знака. А через пару дней в 17 знаков.
Поделитесь мозгами :)

Автор - SkyPro
Дата добавления - 01.12.2013 в 18:31
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!