2017.11.18 11:12

정올 파스칼삼각형

조회 수 512 추천 수 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 745
공지 키보드 화살표값 출력 좋은아빠되기 2016.11.19 1503
공지 원하는 좌표에 값 출력하기 좋은아빠되기 2016.11.19 2848
공지 Python(파이썬) 학습 자료 PDF 1 file 좋은아빠되기 2014.12.10 11232
공지 dev C++ 텍스트 색상변경 WinApi사용(textcolor 대용) 좋은아빠되기 2014.06.07 5170
공지 DEV-C++ 기본 코드 좋은아빠되기 2013.06.19 8999
공지 무료 C++ 컴파일러(윈도우용) DEV-C++ 좋은아빠되기 2013.06.18 19440
공지 이클립스 C++ 설치 파일들 좋은아빠되기 2013.06.18 38323
310 정올 기초다지기(배열2-자가진단3) killerjack 2014.05.31 1611
309 정올 기초다지기(문자열2-자가진단2) killerjack 2014.09.27 868
308 정올 기초다지기(문자열1-자가진단9)ver 2. killerjack 2014.09.20 731
307 정올 기초다지기(문자열1-자가진단9)ver 1. killerjack 2014.09.20 711
306 정올 기초다지기(문자열1-자가진단8) killerjack 2014.09.20 529
305 정올 기초다지기(문자열1-자가진단7) killerjack 2014.09.20 596
304 정올 기초다지기(문자열1-자가진단6) killerjack 2014.09.20 760
303 정올 기초다지기(문자열1-자가진단5) killerjack 2014.09.20 440
302 정올 기초다지기(문자열1-자가진단4) killerjack 2014.09.20 594
301 정올 기초다지기(문자열1-자가진단2) killerjack 2014.09.20 609
300 정올 기초다지기(문자열1-자가진단1) killerjack 2014.09.20 612
299 정올 기초다지기(구조체-자가진단6) killerjack 2014.10.11 898
298 정올 기초다지기(구조체-자가진단5) killerjack 2014.10.11 536
297 정올 기초다지기(구조체-자가진단4) killerjack 2014.10.11 594
296 정올 기초다지기(구조체-자가진단3) killerjack 2014.10.11 337
295 정올 기초다지기(구조체-자가진단2) killerjack 2014.10.11 432
294 정올 기초다지기(aG005-포인터5) killerjack 2014.11.22 571
293 정올 기초다지기(aG004-포인터4) killerjack 2014.11.15 383
292 정올 기초다지기(aG003-포인터3) killerjack 2014.11.15 452
291 정올 기초다지기(aG002-포인터2) killerjack 2014.11.15 501
Board Pagination Prev 1 ... 6 7 8 9 10 11 12 13 14 15 ... 26 Next
/ 26