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 471
공지 키보드 화살표값 출력 좋은아빠되기 2016.11.19 1230
공지 원하는 좌표에 값 출력하기 좋은아빠되기 2016.11.19 2544
공지 Python(파이썬) 학습 자료 PDF 1 file 좋은아빠되기 2014.12.10 10515
공지 dev C++ 텍스트 색상변경 WinApi사용(textcolor 대용) 좋은아빠되기 2014.06.07 4888
공지 DEV-C++ 기본 코드 좋은아빠되기 2013.06.19 8479
공지 무료 C++ 컴파일러(윈도우용) DEV-C++ 좋은아빠되기 2013.06.18 19111
공지 이클립스 C++ 설치 파일들 좋은아빠되기 2013.06.18 38033
229 n개수의 주사위 돌리기(승민) 승민 2016.08.20 446
228 정올 기초다지기(aB006-문자열1) killerjack 2014.09.27 450
227 정올 기초다지기(aG001-포인터1) killerjack 2014.11.15 453
226 정올 기초다지기(aB007-문자열1)ver 남쌤꺼. killerjack 2014.09.27 455
225 정올 기초다지기(aF005-구조체5) killerjack 2014.10.25 456
224 홀수면 n수까지 홀수 출력 짝수면 n수까지 짝수 출력(승민) 승민 2016.08.20 458
223 정올 - 알고리즘 - 극장좌석(1848) 조정미 2018.04.21 465
222 정올 - 실력키우기 - 각자리수의 역과 합(1009) 조정미 2017.12.27 474
221 원 반지름 구하기 선우 2016.07.02 476
220 정올 기초다지기(aB001-문자열1) killerjack 2014.09.20 479
219 정올 기초다지기(aB007-문자열1)ver 내꺼. killerjack 2014.09.27 480
218 정올 기초다지기 함수3 자가진단 5 남쌤꺼 좋은아빠되기 2014.08.16 481
217 정올 기초다지기(aG002-포인터2) killerjack 2014.11.15 482
» 정올 파스칼삼각형 조정미 2017.11.18 487
215 정올 기초다지기(포인터-자가진단6) killerjack 2014.11.15 497
214 정올 기초다지기(포인터-자가진단7) killerjack 2014.11.15 509
213 정올 기초다지기(문자열1-자가진단8) killerjack 2014.09.20 510
212 정올 - 실력키우기 - 나는 학급회장이다(투표) 조정미 2017.12.02 515
211 영단어 입력한후 그단어중 가장큰 아스키코드 구하기(승민) 승민 2016.04.02 516
Board Pagination Prev 1 ... 10 11 12 13 14 15 16 17 18 19 ... 26 Next
/ 26