파이썬을 사용하여 사용자가 입력 한 번호에서이 목록을 생성하는 방법은 무엇입니까?

리투 라지 람 테케
I want to generate a list from user entered number using Python
I had tried it but I was unable to find out the proper solution for it.

예를 들면 :

사용자가 2를 입력하면 목록은 [1,1]이어야합니다.

사용자가 11을 입력하면 목록은 [1,2,3,4,1]이어야합니다.

사용자가 12를 입력하면 목록은 [1,2,3,4,2] 여야합니다.

사용자가 16을 입력하면 목록은 [1,2,3,4,5,1]이어야합니다.

사용자가 24를 입력하면 목록은 [1,2,3,4,5,6,3]이어야합니다.

규칙 :

  1. 목록에있는 모든 숫자의 합계는 입력 된 숫자와 같아야합니다.
  2. 목록의 첫 번째 숫자는 1입니다.
  3. 마지막 숫자를 제외하고 두 요소의 차이는 1이어야합니다.
  4. 마지막 숫자는 입력 된 숫자 (목록에있는 모든 숫자의 합계)와 같아야합니다.
네네
maxNum, current, result = 12, 1, []

while maxNum > current:
    result.append(current)
    maxNum -= current
    current += 1
result.append(maxNum)
print result

산출

[1, 2, 3, 4, 2]

편집하다:

수학적 솔루션 :

inputNumber = int(raw_input("Please enter the input number: "))
a, b, c = 1, 1, -2 * inputNumber
innerPart = ((b**2) - 4 * a * c)**0.5
N = int(max((-b + innerPart) / (2 * a), (-b - innerPart) / (2 * a)))
result, sumTillN = [i for i in range(1, N + 1)], (N * (N + 1)) // 2
if inputNumber - sumTillN: result.append(inputNumber - sumTillN)
print result

처음 N-1 요소는 N (N + 1) / 2 공식을 사용하여 계산할 수 있습니다. N^2+N-2*inputNumber첫 번째 N-1 요소에 대해 양의 N을 찾아 채울 수 있습니다 . 마지막 요소는 나머지입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

파이썬에서 사전에 여러 사용자 입력을 추가하는 방법은 무엇입니까?

파이썬에서 사용자의 사전 목록을 입력하는 방법은 무엇입니까?

파이썬을 사용하여 목록 목록을 Excel로 작성하는 방법은 무엇입니까?

파이썬에서 동일한 목록에 사전 목록을 추가하는 방법은 무엇입니까?

파이썬에서 목록을 사용하여 중첩 목록을 만드는 방법은 무엇입니까?

파이썬을 사용하여 ID 번호를 생성하는 방법은 무엇입니까?

파이썬에서 하나의 print ()를 사용하여 목록 항목을 한 줄이 아니라 한 줄씩 인쇄하는 방법은 무엇입니까?

파이썬에서 목록 이해력을 사용하여 2 차원 목록에 0을 추가하는 방법은 무엇입니까?

파이썬을 사용하여 문자열을 목록으로 변환하는 방법은 무엇입니까?

사용자가 입력 한 번호로 로봇을 이동하는 방법은 무엇입니까?

이름 목록을 사용하여 파생 유형에 할당 가능한 배열을 작성하는 방법은 무엇입니까?

한 줄을 사용하여 파이썬에서 목록 / 튜플을 공백으로 구분 된 문자열로 바꾸는 방법은 무엇입니까?

그리드에서 사용 가능한 단계 목록을 생성하는 방법은 무엇입니까?

파이썬을 사용하여 문자열에서 가장 빈번한 여러 k-mer를 얻는 방법은 무엇입니까?

Python 3 : 사용자 입력에서 생성 된 목록을 검색하는 방법은 무엇입니까?

파이썬을 사용하여 목록의 항목을 분할하는 방법은 무엇입니까?

파이썬을 사용하여 docx에서 목록을 찾는 방법은 무엇입니까?

파이썬을 사용하여 목록에 값이 없으면 무시하는 방법은 무엇입니까?

사용자가 범위 내에서 값을 입력하도록 제한하는 방법은 무엇입니까?

파이썬에서 숫자 우편 번호 하한을 설정하는 방법은 무엇입니까?

Bash에서 사용 가능한 도구를 사용하여 범위의 모든 날짜 목록을 생성하는 방법은 무엇입니까?

파이썬 클래스의 목록을 사용하여 사전을 만드는 방법은 무엇입니까?

kotlin에서 map을 사용하여 목록의 한 속성을 toUppercase ()하는 방법은 무엇입니까?

파이썬 3을 사용하여 목록을 분할하는 방법은 무엇입니까?

파이썬에서 SQL 쿼리를 사용하여 목록을 얻는 방법은 무엇입니까?

파이썬에서 input () 함수를 사용하여 입력을 처리하는 방법은 무엇입니까?

파이썬 셀레늄을 사용하여 텍스트를 입력한 후 검색 제안에서 가치를 얻는 방법은 무엇입니까?

사용자가 입력 한 파일 이름을 여는 방법은 무엇입니까?

R을 사용하여 대규모 IP 목록에 대한 국가 이름을 생성하는 방법은 무엇입니까?