2017.11.18 11:12

정올 파스칼삼각형

조회 수 487 추천 수 0 댓글 0

#include <stdio.h>

int result[30][30]={0};

void pr(int n, int m);
int Add1(int i, int j);
int Add2(int i, int j);
int Add3(int i, int j);
int F(int i, int j);
void one(int n);
void two(int n);
void three(int n);
int main(void)
{
	int n, m;
	scanf("%d %d", &n, &m);
	switch(m)
	{
		case 1:
			one(n);
			break;
		case 2:
			two(n);
			break;
		case 3:
			three(n);
			break;
	}
	pr(n, m);
	return 0;
}
void pr(int n, int m)
{
	int i, j;
	for(i=0; i<n; i++)
	{
		for(j=0; j<n; j++)
		{
			if(result[i][j]==0 && m!=2)
				break;
			else if(result[i][j]==0 && m==2)
				printf(" ");
			else
				printf("%d ", result[i][j]);
		}
		printf("\n");
	}
}
int F(int i, int j)
{
	if(i<0 || i>30 || j<0 || j>30)
		return 0;
	else
		return result[i][j];
}
int Add1(int i, int j)
{
	return F(i-1, j-1) + F(i-1, j);
}
void one(int n)
{
	int i, j;
	result[0][0]=1;
	for(i=1; i<n; i++)
	{
		for(j=0; j<=i; j++)
		{
			result[i][j]=Add1(i, j);
		}
	}
}
int Add2(int i, int j)
{
	return F(i+1, j+1) + F(i+1, j);
}
void two(int n)
{
	int i, j;
	result[n-1][n-1]=1;
	for(i=n-2; i>=0; i--)
	{
		for(j=n-1; j>=i; j--)
		{
			result[i][j]=Add2(i, j);
		}
	}
}
int Add3(int i, int j)
{
	return F(i, j+1) + F(i+1, j+1);
}
void three(int n)
{
	int i, j;
	result[n-1][n-1]=1;
	for(j=n-2; j>=0; j--)
	{
		for(i=n-1; i>=j; i--)
		{
			result[i][j]=Add3(i, j);
		}
	}
}



List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 글쓰기는 하루 5개, 댓글은 10개만 가능합니다. 좋은아빠되기 2019.02.15 314
공지 키보드 화살표값 출력 좋은아빠되기 2016.11.19 1095
공지 원하는 좌표에 값 출력하기 좋은아빠되기 2016.11.19 2407
공지 Python(파이썬) 학습 자료 PDF 1 file 좋은아빠되기 2014.12.10 10361
공지 dev C++ 텍스트 색상변경 WinApi사용(textcolor 대용) 좋은아빠되기 2014.06.07 4730
공지 DEV-C++ 기본 코드 좋은아빠되기 2013.06.19 8313
공지 무료 C++ 컴파일러(윈도우용) DEV-C++ 좋은아빠되기 2013.06.18 18970
공지 이클립스 C++ 설치 파일들 좋은아빠되기 2013.06.18 37873
310 정올 기초다지기(배열2-자가진단3) killerjack 2014.05.31 1572
309 정올 기초다지기(문자열2-자가진단2) killerjack 2014.09.27 831
308 정올 기초다지기(문자열1-자가진단9)ver 2. killerjack 2014.09.20 707
307 정올 기초다지기(문자열1-자가진단9)ver 1. killerjack 2014.09.20 686
306 정올 기초다지기(문자열1-자가진단8) killerjack 2014.09.20 504
305 정올 기초다지기(문자열1-자가진단7) killerjack 2014.09.20 568
304 정올 기초다지기(문자열1-자가진단6) killerjack 2014.09.20 727
303 정올 기초다지기(문자열1-자가진단5) killerjack 2014.09.20 413
302 정올 기초다지기(문자열1-자가진단4) killerjack 2014.09.20 573
301 정올 기초다지기(문자열1-자가진단2) killerjack 2014.09.20 584
300 정올 기초다지기(문자열1-자가진단1) killerjack 2014.09.20 590
299 정올 기초다지기(구조체-자가진단6) killerjack 2014.10.11 857
298 정올 기초다지기(구조체-자가진단5) killerjack 2014.10.11 513
297 정올 기초다지기(구조체-자가진단4) killerjack 2014.10.11 562
296 정올 기초다지기(구조체-자가진단3) killerjack 2014.10.11 310
295 정올 기초다지기(구조체-자가진단2) killerjack 2014.10.11 403
294 정올 기초다지기(aG005-포인터5) killerjack 2014.11.22 536
293 정올 기초다지기(aG004-포인터4) killerjack 2014.11.15 365
292 정올 기초다지기(aG003-포인터3) killerjack 2014.11.15 428
291 정올 기초다지기(aG002-포인터2) killerjack 2014.11.15 473
Board Pagination Prev 1 ... 6 7 8 9 10 11 12 13 14 15 ... 26 Next
/ 26