728x90
▶문제 : 파스칼 삼각형 (codeup.kr)
▶코드 작성
#include <stdio.h>
int main()
{
unsigned long long arr[51][51];
int n;
scanf("%d", &n);
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= i; j++)
{
if (j == 1 || j == i)//양쪽 끝은 항상 1
{
arr[i][j] = 1;
printf("1 ");
}
else
{
arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];//자신의 위 숫자와 그 왼쪽 숫자의 합
printf("%llu ", arr[i][j]);
}
}
printf("\n");
}
return 0;
}
▶해석
이중 반복문으로 값을 구했고, j==1이거나 j==i일 때가 양쪽 끝 값이므로 항상 1이다. 나머지는 삼각형을 보면 구하려는 수는 그 위 숫자와 그 왼쪽 숫자를 합한 값이 나오므로 계산식을 하였다.
728x90
'코드업(codeup) > C' 카테고리의 다른 글
코드업(codeup) 1705 : 369 게임 C언어 (0) | 2021.12.31 |
---|---|
코드업(codeup) 3702 : 파스칼의 삼각형 2 C언어 (0) | 2021.12.29 |
코드업(codeup) 3020 : 기억력 테스트 4 C언어 (0) | 2021.12.26 |
코드업(codeup) 3017 : 정렬 기준 C언어 (0) | 2021.12.25 |
코드업(codeup) 3014 : 정렬을 빠르게! C언어 (0) | 2021.12.12 |
댓글