Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 09.12.2022
Сообщений: 8

Миша составляет 5-буквенные слова из букв слова КОМПЬЮТЕР

22.11.2023, 17:24. Показов 4978. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Миша составляет 5-буквенные слова из букв слова КОМПЬЮТЕР так, что в них можно переставить буквы и получить палиндром. Сколько различных слов может составить Миша?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.11.2023, 17:24
Ответы с готовыми решениями:

Петя составляет шестибуквенные слова перестановкой букв слова МОЛОКО. Сколько всего различных слов может составить Петя?
Тут несколько вариантов кода, но нигде не получается правильный ответ(120) Уже и на цифры пытался заменить. Руками конечно всё получается,...

В результате вывести на экран случайные 10-буквенные слова из русских букв
Добрый день! Помогите пожалуйста. В составленной программе выводится только одно случайное слово. Как сделать так чтобы их выводилось...

Как разбить строку на слова и записать в массив только 4-х буквенные слова
Как разбить строку на слова и записать в массив только 4-х буквенные слова? Максимальная длина текста 250 символов. Разделителем считать...

10
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
23.11.2023, 05:04
Цитата Сообщение от Alecksandr Посмотреть сообщение
Сколько различных слов может составить Миша?
Python
1
print(0)
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38180 / 21115 / 4307
Регистрация: 12.02.2012
Сообщений: 34,722
Записей в блоге: 14
23.11.2023, 07:05
Alecksandr, Ни одного
0
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
23.11.2023, 07:12
Цитата Сообщение от Catstail Посмотреть сообщение
Ни одного
Ну, если предположить, что буквы можно использовать по нескольку раз, то задача сразу становится интереснее.
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38180 / 21115 / 4307
Регистрация: 12.02.2012
Сообщений: 34,722
Записей в блоге: 14
23.11.2023, 07:14
idealist, это верно
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
23.11.2023, 12:38
Цитата Сообщение от idealist Посмотреть сообщение
Ну, если предположить, что буквы можно использовать по нескольку раз, то задача сразу становится интереснее.
Интересного там мало, также легко просчитывается. 9*8*7 + 9*8*3 + 9, если слова могут начинаться с мягкого знака. Но да, хоть что-то.
Вот только в миру "составляет 5-буквенные слова из букв слова КОМПЬЮТЕР" это игра по правилу НАБОРЩИК.
0
0 / 0 / 0
Регистрация: 09.12.2022
Сообщений: 8
23.11.2023, 12:44  [ТС]
в ответе написано 8649. (это просто задача с ответом для сравнения)
0
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
23.11.2023, 14:58
Лучший ответ Сообщение было отмечено Alecksandr как решение

Решение

Цитата Сообщение от Alecksandr Посмотреть сообщение
в ответе написано 8649
Да, у меня тоже столько же получилось:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from itertools import product
from collections import Counter
w = 'КОМПЬЮТЕР'
def get_count_values(n):
    res = set()
    for i in range(1,n+1,2):
        for j in range(0,n-i+1,2):
            arr = [i, j, n-i-j]
            while 0 in arr:
                arr.remove(0)
            res.add(tuple(sorted(arr)))
    return res
m = 5
res = 0
for p in product(w, repeat=m):
    cc = Counter(p)
    vv = tuple(sorted(cc.values()))
    if vv in get_count_values(m):
        #print(''.join(p))
        res += 1
print(res)
1
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
23.11.2023, 15:27
Лучший ответ Сообщение было отмечено Alecksandr как решение

Решение

Python
1
2
3
4
5
6
7
from itertools import *
 
count = 0
for p in product('КОМПЬЮТЕР', repeat=5):
    if any(x == x[::-1] for x in permutations(p)):
        count += 1
print(count)
1
Любознательный
 Аватар для YuS_2
7406 / 2256 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
23.11.2023, 16:43
Цитата Сообщение от Alecksandr Посмотреть сообщение
Сколько различных слов может составить Миша?
Всё как обычно...
Слов или наборов символов?
Планета Шелезяка, примеров нет, полезных ископаемых нет, населена роботами...
Бросайте такое обучение... где в задачах, необходимо включать такие скиллы, как фантазия, интуиция и прочие парапсихологические возможности.
1
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
24.11.2023, 10:07
Что-то я погорячился, функцию одну и ту же на каждой итерации вычислял. Если вынести ее из цикла, то будет работать еще быстрее:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from itertools import product
from collections import Counter
w = 'КОМПЬЮТЕР'
def get_pal_count_values(n):
    res = set()
    for i in range(1,n+1,2):
        for j in range(0,n-i+1,2):
            arr = [i, j, n-i-j]
            while 0 in arr:
                arr.remove(0)
            res.add(tuple(sorted(arr)))
    return res
m = 5
res = 0
good_vv = get_pal_count_values(m)
for p in product(w, repeat=m):
    cc = Counter(p)
    vv = tuple(sorted(cc.values()))
    if vv in good_vv:
        #print(''.join(p))
        res += 1
print(res)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.11.2023, 10:07
Помогаю со студенческими работами здесь

1. Построить три множества: одно из букв данного слова H и второе из букв данного слова L, третье из букв слова K. Вывести на экран те буквы, которые
1. Построить три множества: одно из букв данного слова H и второе из букв данного слова L, третье из букв слова K. Вывести на экран те...

Построить код, позволяющий исправлять две ошибки, способный передавать 5-буквенные слова в алфавите из 5 букв
Здравствуйте. Задача: построить код, позволяющий исправлять две ошибки, способный передавать 5-буквенные слова в алфавите из 5 букв. ...

Найти в строке слова, длина которых составляет от 5 до 8 букв
Составить программу, которая вводит с клавиатуры строку, содержащую до 75 символов, и выводит на экран слова из этой строки, длина которых...

Программа составляет разные наборы букв из слова red, который лежит в файле
Программа составляет разные наборы букв из слова red, который лежит в файле. Нужно переделать программу с помощью random_shuffle ...

Напишите программу, которая из букв вашей фамилии составляет три различных слова
Вы вводите с клавиатуры вашу фамилию в строчковую строковую переменную x. Напишите программу на Python, которая из букв вашей фамилии...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru