플로이드의 삼각형

위키백과, 우리 모두의 백과사전.
둘러보기로 가기 검색하러 가기

플로이드의 삼각형자연수직각 삼각형 배열로, 컴퓨터 과학 교육에 쓰인다. 이것은 로버트 플로이드의 이름에서 나온 것이다. 이것은 삼각형의 열을 왼쪽 상단 모퉁이에서 1부터 시작하여 연속적인 수로 채움으로써 정의된다:

1
23
456
78910
1112131415

삼각형 왼쪽 모퉁이에 따르는 수들을 게으른 요리사의 수열(중심다각수)이라고 하며 오른쪽 모퉁이에 따르는 수들을 삼각수라고 한다. n번째 행 총합은n(n2 + 1)/2 이다 (OEIS의 수열 A006003).

컴퓨터 과학 교육[편집]

입문 프로그래머들에게 이러한 형식의 표를 출력하는 프로그램을 작성하는 과정을 종종 제시한다.[1][2]

비주얼 베이직 닷넷으로 구현한 예는 다음과 같다.

Imports System.Console

Module Program

    Sub Main()
        Dim rows As Integer

        ' 유효성 검사를 입력한다.
        Do Until Integer.TryParse(ReadLine("얼마나 많은 행을 표시할 것인지에 대한 값을 입력하시오: "), rows) AndAlso rows >= 1
            WriteLine("허용된 범위는 1과 {0}이다", Integer.MaxValue)
        Loop

        ' 플로이드의 삼각형의 출력
        Dim current = 1

        For row = 1 To rows
            For column = 1 To row
                Write("{0,-2} ", current)
                current += 1
            Next

            WriteLine()
        Next
    End Sub

    ''' <요약>
    ''' 프롬프트 문자열이 사용하는 Console.ReadLine 및 버전을 보호한다.
    ''' </요약>
    Function ReadLine(Optional prompt As String = Nothing) As String
        If prompt IsNot Nothing Then
            Write(prompt)
        End If

        Return Console.ReadLine()
    End Function

End Module

같이 보기[편집]

각주[편집]

  1. Keller, Arthur M. (1982), 《파스칼을 사용한 컴퓨터 프로그래밍의 첫 번째 과정》, McGraw-Hill 
  2. Peters, James F. (1986), 《프로그램 설계와 파스칼》, Holt, Rinehart and Winston