2013년 3월 20일 수요일

파스칼삼각형 알고리즘


파스칼삼각형



프로그램 명: pascal_tri

   1
  1 1
 1 2 1
1 3 3 1
다음과 같이 바로 위의 두 숫자를 더한 합이 자신의 숫자가 되는 삼각형을 파스칼 삼각형이라고 한다.

입력

이 파스칼 삼각형의 층수가 주어진다.

출력

층수 까지의 파스칼 삼각형을 출력하여라.

입출력 예

입력

4

출력

   1
  1 1
 1 2 1
1 3 3 1

--------------------------------------------------------------------


#include<stdio.h>
void main()
{

int hi;//삼각형 높이
int tr[100][100]={0};
int i,j,k;

printf("파스칼삼각형의 높이를 입력하시오");
scanf("%d",&hi);

for(i=0;i<hi;i++)
{

for(j=0;j<i;j++)
{
tr[i][j]=0;
}
}
tr[1][1]=1;
for(i=2;i<=hi;i++)
{
for(j=1;j<=i+1;j++)
{
tr[i][j]=tr[i-1][j]+tr[i-1][j-1];//윗줄 왼쪽오른쪽 항의 계산
}
}
for(i=1;i<=hi;i++)
{

{
for(k=1;k<=hi-i;k++)//삼각형 여백
printf(" ");
}
for(j=1;j<=i;j++)
{
printf("%3d",tr[i][j]);//삼각형 출력
}
printf("\n");
}

}

댓글 없음:

댓글 쓰기