Предмет: Информатика, автор: llax3127p6pjrf

Питон. Python

Взять переменную (число) из файла file.in (любое натуральное число)
И определить можно ли представить заданное в нем натуральное число, как сумму четырёх последовательных натуральных чисел


Alpixx: Задача определить можно ли, поэтому можно сказать если число больше 4, то можно, а иначе - нет. Интересует ли вас сама сумма?
llax3127p6pjrf: Если можно то нужно вывести на экран заданное число. И последовательность чисел

Ответы

Автор ответа: Alpixx
1

import itertools

f = open("file.in", "r")

a = f.readline()

def decompose(n):

   l = []

   for j in range(1, n+1):

       l.append(j)

   sums = list(map(list, [a for i in [itertools.product(l,repeat=x) for x in range(1,6)] for a in i if (sum(a) == n)]))

   answers = []

   for j in sums:

       if len(j) == 4:

           answers.append(j)

   return answers

if int(a) >= 4:

   print("Можно")

   print(decompose(int(a)))

else:

   print("Нельзя")


llax3127p6pjrf: Хотелось бы поправить. Число должно быть больше не 4, а 6.
llax3127p6pjrf: Потому что 0+1+2+3=6
Alpixx: 0 - не натуральное число
Alpixx: ну если 0 по-вашему натуральное число, то вы неправильно рассуждаете . минимальная сумма будет 0 (0+0+0+0=0)
llax3127p6pjrf: Ладно, я ошибся. Значит минимальное число 10 при котором выдаст "можно"
yana096404: Привет,пожалуйста можешь мне тоже помочь с моим последним вопросом?
Похожие вопросы
Предмет: Русский язык, автор: vladdmitrov19