• SEARCH

    통합검색
세모계
    • Dark Mode
    • GNB Always Open
    • GNB Height Maximize
    • Color
    • Brightness
    • SINCE 2015.01.19.
    • 세모계 세모계
    •   SEARCH
    • 세상의 모든 계산기  
      • 자유(질문) 게시판  
      • 계산기 뉴스/정보  
      • 수학, 과학, 공학 이야기  
      • 세모계 : 공지 게시판  
        • 구글 맞춤검색  
      • 세상의 모든 계산기  
        • 자유(질문) 게시판  
    • TI  
    • CASIO  
    • HP  
    • SHARP  
    • 일반(쌀집) 계산기  
    • 기타계산기  
    • 세모계
    • by ORANGEDAY
  • TI
    • TI nspire
    • [TI-nspire] [program] 내 우산은 어디에? - 순열(Permutation)

    • Profile
      • 세상의모든계산기
        *.165.6.43
      • 2024.07.27 - 01:59 2015.09.28 - 20:35  694  3

    문제 :

    비오는 어느 날에 5명이 한 집에 모였습니다. 모임이 끝나고 돌아가려는데 갑자기 정전이 되어 어떤게 자기 우산인지 알 수 없게 되었고, 하는 수 없이 모두 아무 우산을 하나씩 들고 집으로 돌아갔습니다. 

    이 때 자기 우산을 가져간 사람이 0명일 경우의 수부터 5명인 경우의 수까지 차례대로 구하시오.

     

    Define umb()=
    Prgm
    :
    :Local this_combi
    :Local my_umb,n_person
    :
    :newList(6)→n_person
    :
    :For d5,1,5
    :
    :  For d4,1,5
    :    If d5=d4 Then
    :      Goto pass4
    :    EndIf
    :
    :    For d3,1,5
    :      If d5=d3 or d4=d3 Then
    :        Goto pass3
    :      EndIf
    :
    :      For d2,1,5
    :        If d5=d2 or d4=d2 or d3=d2 Then
    :          Goto pass2
    :        EndIf
    :
    :        For d1,1,5
    :          If d5=d1 or d4=d1 or d3=d1 or d2=d1 Then
    :            Goto pass1
    :          EndIf
    :
    :© New Permutation list generated
    :          1*{d5,d4,d3,d2,d1}→this_combi
    :          0→my_umb
    :
    :© Count matching person
    :          For each_d,1,5
    :            If this_combi[each_d]=each_d Then
    :              my_umb+1→my_umb
    :            EndIf
    :          EndFor
    :
    :          n_person[my_umb+1]+1→n_person[my_umb+1]
    :
    :©          Disp "Test Disp",this_combi,"My Umb=",my_umb
    :
    :          Lbl pass1
    :        EndFor
    :
    :        Lbl pass2
    :      EndFor
    :
    :      Lbl pass3
    :    EndFor
    :
    :    Lbl pass4
    :  EndFor
    :
    :EndFor
    :
    :Disp "zero, one, ...., five = ",n_person
    :EndPrgm

     

    umb()

    zero, one, ...., five =  {44,45,20,10,0,1}

    Done

    0
    0
    이 게시물을..
    • 세상의모든계산기 세상의모든계산기 Lv. 25

      계산기는 거들 뿐
      혹은
      계산기를 거들 뿐

    • [TI-Nspire] disp_tn.tns : 유리수를 소수꼴로 표시하는 프로그램세상의모든계산기
    • [TI-nspire] [Program] 순열(Permutation) - Heap's Algorithm (Recursive)세상의모든계산기

     댓글 3

      • Profile
      • 세상의모든계산기 (*.165.6.43) 2015.09.28 20:41 #comment_7620

        보기는 편하지만...

        순열을 만들기 위해서(+순열 아닌 것을 골라내기 위해서)
        루프를 모두 돌기 때문에 5^5 = 3125 번 루프를 돌게 되어 효율이 좋지 않음.
        (카운팅 루프 제외)

        0
        댓글
      • Profile
      • 세상의모든계산기 (*.165.6.43) 2015.09.28 21:47 #comment_7626

        https://ko.wikipedia.org/wiki/%EC%99%84%EC%A0%84%EC%88%9C%EC%97%B4

        http://j1w2k3.tistory.com/667

        0
        댓글
      • Profile
      • 세상의모든계산기 (*.165.6.43) 2016.01.08 10:56 #comment_13422
        [TI-nspire] [Program] 순열(Permutation) - Heap's Algorithm (Recursive)
        http://www.allcalc.org/7635
        0
        댓글
    • 댓글 입력
    • 에디터 전환
    댓글 쓰기 에디터 사용하기 닫기
    • 목록 목록
    • [TI-Nspire] disp_tn.tns : 유리수를 소수꼴로 표시하는 프로그램
    • [TI-nspire] [Program] 순열(Permutation) - Heap's Algorithm (Recursive)
    • 목록
    3
    by OrangeDay
    • TI
    • allcalc.org
    • 세모계 all rights reserved.