Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 28, 2022 14:54:12

Alex_2022
Зарегистрирован: 2022-10-28
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Kоличество целочисленных разделов

Здрасти всем.
В универе прилетела задачка по расчету к -ва целочисленных разделов.
Нужно не просто посчитать к-во а еще что бы функция должна была уметь находить количество целочисленных разделов менее 100.
У меня в загажнике был код но я не силен в змеях и пока не пойму как его применить к этому вопросу.

 def partition_min_max(n,k,l, m):
if k < 1:
    raise StopIteration
if k == 1:
    if n <= m and n>=l :
        yield (n,)
    raise StopIteration
for i in range(l,m+1):
    for result in partition_min_max(n-i,k-1,i,m):                
        yield result+(i,)

Отредактировано Alex_2022 (Окт. 28, 2022 14:54:59)

Офлайн

#2 Окт. 28, 2022 15:03:13

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Kоличество целочисленных разделов

Разделов чего?
Что подается в функцию? что должно быть на выходе?
Кролики?



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#3 Окт. 28, 2022 15:11:58

Alex_2022
Зарегистрирован: 2022-10-28
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Kоличество целочисленных разделов

ZerG
Разделов чего?Что подается в функцию? что должно быть на выходе?Кролики?
Нет не кролики.
Например, есть 3 целочисленных разделов :

.
 [3], [2,1], [1,1,1]
Надо что бы функция, возвращала количество целочисленных разделов n. И она должна уметь находить количество целочисленных разделов n менее 100.

Отредактировано Alex_2022 (Окт. 28, 2022 15:32:58)

Офлайн

#4 Окт. 28, 2022 15:42:31

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Kоличество целочисленных разделов

Ну я вижу списки.
Давайте упростим задачу
напишите как пример имя функции и что вы в нее подаете и что она должна вернуть
так как терминология у вас увы и отнюдь

Или в функцию передается произвольное количество списков а нужно вернуть количество тех что содержат меньше или больше 100 элементов?



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#5 Окт. 28, 2022 15:49:57

Alex_2022
Зарегистрирован: 2022-10-28
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Kоличество целочисленных разделов

ZerG
Ну я вижу списки.Давайте упростим задачунапишите как пример имя функции и что вы в нее подаете и что она должна вернуть так как терминология у вас увы и отнюдьИли в функцию передается произвольное количество списков а нужно вернуть количество тех что содержат меньше или больше 100 элементов?
С терминологией действительно есть проблемы.
Ну полностью задача выглядит таким образом.

Целочисленное разделение n представляет собой слабо убывающий список положительных целых чисел, сумма которых равна n.

Например, есть 3 целочисленных разделов по 3:

 [3], [2,1], [1,1,1].
Напишите функцию, которая возвращает количество целочисленных разделов n. Функция должна уметь находить количество целочисленных разделов n менее 100.
То есть мы в списке числе считаем к-во положительных чисел. Поскольку положительные числа это список(в данном случае) чисел которых разделили. Вот я так это понял )))

Офлайн

#6 Окт. 28, 2022 16:14:07

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Kоличество целочисленных разделов

Я все еще пока не понял. Задача явно простая но что требуется не совсем ясно
Давайте все же испробуем первый вариант

 func ([3], [2,1], [1,1,1])
или
 func ([[3], [2,1], [1,1,1]])
и что должно быть на выходе?



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#7 Окт. 28, 2022 18:25:35

Alex_2022
Зарегистрирован: 2022-10-28
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Kоличество целочисленных разделов

ZerG
Я все еще пока не понял. Задача явно простая но что требуется не совсем ясноДавайте все же испробуем первый вариант
Вот прикол в том что я сам по этому заданию не совсем понял что от меня хотят. Поэтому и обратился сюда))
Ваш первый вариант мне кажется более оптимальным. И да задача явно простая но как то зашифрована она что мне одному не понять вообще )))

Офлайн

#8 Окт. 28, 2022 19:40:46

Alex_2022
Зарегистрирован: 2022-10-28
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Kоличество целочисленных разделов

Такс если я правильно понял . Надо из списка посчитать к-во положительных чисел которые вышли после целочисленного деления. Возможно тогда такой код подойдет

 print(len(list(i for i in map(int, input().split()) if i >= 0)))

Офлайн

#9 Окт. 28, 2022 19:41:15

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Kоличество целочисленных разделов

Что же! Приходите когда сможете сформулировать задачу.



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#10 Окт. 29, 2022 00:19:36

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9874
Репутация: +  854  -
Профиль   Отправить e-mail  

Kоличество целочисленных разделов

Alex_2022
Целочисленное разделение n представляет собой слабо убывающий список положительных целых чисел, сумма которых равна n.
Для числа 3
3, 2 1, 1 1 1

Для числа 4
4, 3 1, 2 2, 2 1 1, 1 1 1 1

Для числа 5
5, 4 1, 3 2, 3 1 1, 2 2 1, 2 1 1 1, 1 1 1 1 1

Тут алгоритмов обнаружения этих наборов чисел может быть несколько разных. Можно подбирать всевозможные комбинации чисел. Можно рекурсивно раскладывать на цепочки чисел.



Отредактировано py.user.next (Окт. 29, 2022 00:23:18)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version