플로이드의 삼각형
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
플로이드의 삼각형은 자연수를 순서대로 배열하여 만든 삼각형 모양의 수열이다. 왼쪽 가장자리는 게으른 요리사 수열, 오른쪽 가장자리는 삼각수를 나타낸다. n번째 행의 합은 n(n² + 1)/2이며, 홀수 행의 중앙 숫자는 연속하는 제곱수의 합이다. 플로이드의 삼각형에서 각 행의 합을 모두 더하면 이중 삼각수가 나타난다. 입문 프로그래밍 교육에서 이 삼각형을 출력하는 프로그램을 작성하는 과제가 제시되기도 한다.
더 읽어볼만한 페이지
- 컴퓨터 과학 교육 - 유다시티
유다시티는 2011년 스탠퍼드 대학교의 무료 컴퓨터 과학 강좌에서 시작되어, 전문 기술 교육에 집중하며 나노학위 프로그램과 온라인 석사 학위를 제공하고, 2024년 액센츄어에 인수된 온라인 교육 플랫폼이다. - 컴퓨터 과학 교육 - 컴퓨터 공학과
컴퓨터 공학과는 컴퓨터 과학과 정보 공학을 포괄하는 학문 분야로, 대학에서 다양한 명칭으로 불리며, 컴퓨터 프로그래밍, 알고리즘, 컴퓨터 구조 등을 배우고 수학적 지식과 사회 과학 과목도 다룬다. - 삼각형 - 버뮤다 삼각지대
버뮤다 삼각지대는 플로리다 해협, 버뮤다, 푸에르토리코를 잇는 삼각형 해역으로, 선박과 항공기 실종으로 '마의 삼각 해역'이라 불리지만, 과장 및 허구임이 밝혀졌고 정확한 원인은 불명확하며 자연적 요인과 초자연적 설명이 존재한다. - 삼각형 - 정삼각형
정삼각형은 세 변의 길이가 같고 모든 내각이 60°인 삼각형으로, 이등변삼각형의 특수한 형태이며 내심, 외심, 무게중심이 일치하는 특징을 가진다. - 컴퓨터 과학 - 수학적 최적화
수학적 최적화는 주어진 집합에서 실수 또는 정수 변수를 갖는 함수의 최댓값이나 최솟값을 찾는 문제로, 변수 종류, 제약 조건, 목적 함수 개수에 따라 다양한 분야로 나뉘며 여러 학문 분야에서 활용된다. - 컴퓨터 과학 - 증명 보조기
증명 보조기는 수학적 증명의 정확성을 검증하고 형식적인 증명 탐색을 지원하는 소프트웨어 도구로, 고차 논리, 의존 타입, 작은 커널, 자동 정리 증명, 반사 증명, 코드 생성 등의 다양한 기능을 제공하며, "정리 증명기 박물관" 프로젝트를 통해 소스 보존을 목표로 하는 다양한 시스템들이 존재한다.
플로이드의 삼각형 | |
---|---|
플로이드의 삼각형 | |
유형 | 수열 |
발명가 | 로버트 플로이드 |
속성 | 연속적인 자연수를 삼각형 모양으로 배열 |
용도 | 컴퓨터 과학 교육 알고리즘 설명 |
특징 | |
구조 | 각 행은 이전 행의 마지막 수 다음에 오는 연속된 자연수로 시작 |
계산 방법 | 각 행의 수는 이전 행의 수에 1을 더하여 계산 |
활용 | |
예시 | 프로그래밍 교육 자료, 알고리즘 시각화 |
프로그래밍 | 반복문을 사용하여 생성 가능 다양한 프로그래밍 언어로 구현 가능 |
관련 개념 | |
관련 수열 | 자연수 수열 |
관련 알고리즘 | 삼각형 패턴 생성 알고리즘 |
참고 자료 | |
온라인 자료 | 매스월드 - 플로이드의 삼각형 OEIS - A006003 |
서적 | 아서 M. 켈러, "PASCAL을 사용한 컴퓨터 프로그래밍 첫걸음" 제임스 F. 피터스, "프로그램 디자인을 이용한 파스칼" 아쇽 아로라, 셰팔리 반살, "유닉스와 C 프로그래밍" C. 자비에르, "C 언어 및 수치 방법" |
2. 성질
플로이드의 삼각형에서 왼쪽 가장자리를 따라 있는 숫자는 게으른 요리사 수열이고 오른쪽 가장자리를 따라 있는 숫자는 삼각수이다. ''n''번째 행의 합은 ''n''(''n''2 + 1)/2이며, 이는 ''n'' × ''n'' 마방진의 상수이다.[5]
플로이드의 삼각형에서 행의 합을 모두 더하면 이중 삼각수, 즉 지수가 삼각수인 삼각수가 나타난다.[5]
1 = '''1''' = '''T'''('''T'''(1))
1 = '''6''' = '''T'''('''T'''(2))
2 + 3
1
2 + 3 = '''21''' = '''T'''('''T'''(3))
4 + 5 + 6
삼각형의 각 숫자는 아래 숫자보다 해당 행의 인덱스만큼 작다.
2. 1. 수열 및 수와의 관계
플로이드의 삼각형에서 왼쪽 가장자리를 따라 있는 숫자는 게으른 요리사 수열이고 오른쪽 가장자리를 따라 있는 숫자는 삼각수이다. ''n''번째 행의 합은 ''n''(''n''2 + 1)/2이며, 이는 ''n'' × ''n'' 마방진의 상수이다.[5]플로이드의 삼각형에서 행의 합을 모두 더하면 이중 삼각수, 즉 지수가 삼각수인 삼각수가 나타난다.[5]
1 = '''1''' = '''T'''('''T'''(1))
1 = '''6''' = '''T'''('''T'''(2))
2 + 3
1
2 + 3 = '''21''' = '''T'''('''T'''(3))
4 + 5 + 6
삼각형의 각 숫자는 아래 숫자보다 해당 행의 인덱스만큼 작다.
2. 2. 시각적 표현
3. 컴퓨터 과학 교육
입문 프로그래머들에게 이러한 형식의 표를 출력하는 프로그램을 작성하는 과정을 종종 제시한다.[9][10]
비주얼 베이직 닷넷으로 구현한 예는 다음과 같다.
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
3. 1. 구현 예제 (비주얼 베이직 닷넷)
입문 프로그래머들에게 이러한 형식의 표를 출력하는 프로그램을 작성하는 과정을 종종 제시한다.[9][10]비주얼 베이직 닷넷으로 구현한 예는 다음과 같다.
```vbnet
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
4. 같이 보기
참조
[1]
서적
A first course in computer programming using PASCAL
McGraw-Hill
[2]
서적
Pascal with program design
Holt, Rinehart and Winston
[3]
서적
Unix and C Programming
https://books.google[...]
Firewall Media
[4]
서적
C Language And Numerical Methods
https://books.google[...]
New Age International
[5]
간행물
Doubly Triangular Numbers OEIS A002817
[6]
서적
A first course in computer programming using PASCAL
McGraw-Hill
[7]
서적
Pascal with program design
Holt, Rinehart and Winston
[8]
간행물
Doubly Triangular Numbers OEIS A002817
[9]
서적
파스칼을 사용한 컴퓨터 프로그래밍의 첫 번째 과정
McGraw-Hill
[10]
서적
프로그램 설계와 파스칼
Holt, Rinehart and Winston
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com