Найти - Пользователи
Полная версия: Kоличество целочисленных разделов
Начало » Python для новичков » Kоличество целочисленных разделов
1 2
Alex_2022
Здрасти всем.
В универе прилетела задачка по расчету к -ва целочисленных разделов.
Нужно не просто посчитать к-во а еще что бы функция должна была уметь находить количество целочисленных разделов менее 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,)
ZerG
Разделов чего?
Что подается в функцию? что должно быть на выходе?
Кролики?
Alex_2022
ZerG
Разделов чего?Что подается в функцию? что должно быть на выходе?Кролики?
Нет не кролики.
Например, есть 3 целочисленных разделов :

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

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

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

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

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

 print(len(list(i for i in map(int, input().split()) if i >= 0)))
ZerG
Что же! Приходите когда сможете сформулировать задачу.
py.user.next
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

Тут алгоритмов обнаружения этих наборов чисел может быть несколько разных. Можно подбирать всевозможные комбинации чисел. Можно рекурсивно раскладывать на цепочки чисел.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB