algorithm
파스칼의 삼각형
수색…
파스칼의 Triagle 기본 정보
가장 흥미로운 숫자 패턴 중 하나는 Pascal 's Triangle 입니다. 이름 "파스칼의 삼각형" Blaise 파스칼 , 유명한 프랑스어 수학자와 철학자의 이름을 따서.
수학에서 파스칼의 삼각형은 이항 계수의 삼각형 배열입니다. 파스칼 삼각형의 행은 일반적으로 행 n = 0부터 시작하여 열 (0 행)부터 열거됩니다. 각 행의 항목은 왼쪽 시작부터 k = 0으로 번호가 매겨지며 일반적으로 인접한 행의 번호에 비해 시차가 있습니다.
삼각형은 아래의 방식으로 구성됩니다.
- 맨 위 행에는 고유 한 0이 아닌 항목 1이 있습니다.
- 각 후속 행의 각 항목은 공백 항목을 0으로 처리하여 위와 왼쪽에있는 숫자를 위와 오른쪽에 추가하여 구성됩니다.
예를 들어, 첫 번째 (또는 다른) 행의 초기 숫자는 1 (0과 1의 합)입니다. 반면에 세 번째 행의 숫자 1과 3이 추가되어 네 번째 행의 숫자 4가 생성됩니다.
Pascal triangle에서 각 항목을 생성하는 수식 :
0이 아닌 정수 n과 0과 n 사이의 임의의 정수 k에 대해. 이항 계수에 대한 이러한 반복은 파스칼의 규칙으로 알려져 있습니다. 파스칼의 삼각형은보다 차원적인 일반화를 가지고 있습니다. 3 차원 버전은 파스칼의 피라미드 또는 파스칼의 4 면체라고 불리우는 반면, 일반 버전은 파스칼의 단순 피처입니다.
파스칼 삼각형의 예 :
C #에서 파스칼의 삼각형 구현
public class PascalsTriangle
{
static void PascalTriangle(int n)
{
for (int line = 1; line <= n; line++)
{
int c = 1;
for (int i = 1; i <= line; i++)
{
Console.WriteLine(c);
c = c * (line - i) / i;
}
Console.WriteLine("\n");
}
}
public static int Main(int input)
{
PascalTriangle(input);
return input;
}
}
C에서 파스칼 삼각형
int i, space, rows, k=0, count = 0, count1 = 0;
row=5;
for(i=1; i<=rows; ++i)
{
for(space=1; space <= rows-i; ++space)
{
printf(" ");
++count;
}
while(k != 2*i-1)
{
if (count <= rows-1)
{
printf("%d ", i+k);
++count;
}
else
{
++count1;
printf("%d ", (i+k-2*count1));
}
++k;
}
count1 = count = k = 0;
printf("\n");
}
산출
1
2 3 2
3 4 5 4 3
4 5 6 7 6 5 4
5 6 7 8 9 8 7 6 5
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow