"SWEA 2005 파스칼의 삼각형"의 두 판 사이의 차이

(새 문서: ==개요== ;{{subst:PAGENAME}} * https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId= {{SWEA 헤더}} {{SWEA 난이도 2-1}} |} ==C++== <source lang='cp...)
 
 
(사용자 2명의 중간 판 8개는 보이지 않습니다)
1번째 줄: 1번째 줄:
==개요==
==개요==
;SWEA 2005 파스칼의 삼각형
{{SWEA|난이도=2}}
* https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=
* 크기가 1~10인 파스칼의 삼각형을 출력하는 문제
 
{{SWEA 헤더}}
{{SWEA 난이도 2-1}}
|}


==C++==
==C++==
<source lang='cpp'>
<syntaxhighlight lang='cpp'>
</source>
#include <iostream>
using namespace std;
int T;
int N;
int cur, prv;
int a[2][10];
int main() {
scanf("%d", &T);
for (int tc=1; tc<=T; tc++) {
scanf("%d", &N);
printf("#%d\n", tc);
for(int i=0; i<N; i++) {
prv = (i+1)%2;
cur = i%2;
for(int j=0; j<=i; j++) {
if( j==0 || j==i) a[cur][j] = 1;
else a[cur][j] = a[prv][j-1]+a[prv][j];
}
for(int j=0; j<=i; j++) printf("%d ", a[cur][j]);
printf("\n");
}
}
}
</syntaxhighlight>
<syntaxhighlight lang='cpp'>
#include <iostream>
using namespace std;
int T;
int N;
int a[2][10];
int main() {
scanf("%d", &T);
for (int tc=1; tc<=T; tc++) {
scanf("%d", &N);
printf("#%d\n", tc);
for(int i=0; i<N; i++) {
for(int j=0; j<=i; j++) {
if( j==0 || j==i) a[i%2][j] = 1;
else a[i%2][j] = a[(i+1)%2][j-1]+a[(i+1)%2][j];
}
for(int j=0; j<=i; j++) printf("%d ", a[i%2][j]);
printf("\n");
}
}
}
</syntaxhighlight>


==Java==
==Java==
<source lang='java'>
<syntaxhighlight lang='java'>
</source>
import java.util.Scanner;
class Solution {
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        int T = sc.nextInt();
        for(int t=1; t<=T; t++) {
            System.out.format("#%d\n", t);
            int n = sc.nextInt();
            int cur[] = new int[n+2];
            int next[] = new int[n+2];
            cur[1] = 1;
            int i, j;
            for(i=1; i<=n; i++) {
                for(j=1; j<i+1; j++) System.out.format("%d ", cur[j]);
                System.out.println();
                for(j=1; j<i+2; j++) next[j] = cur[j-1]+cur[j];
                for(j=1; j<i+2; j++) cur[j] = next[j];
            }
        }
    }
}
</syntaxhighlight>
 
==같이 보기==
* [[파스칼의 삼각형]]

2023년 8월 25일 (금) 01:44 기준 최신판

1 개요[ | ]

SWEA 2005 파스칼의 삼각형

2 C++[ | ]

#include <iostream>
using namespace std;
int T;
int N;
int cur, prv;
int a[2][10];
int main() {
	scanf("%d", &T);
	for (int tc=1; tc<=T; tc++) {
		scanf("%d", &N);
		printf("#%d\n", tc);
		for(int i=0; i<N; i++) {
			prv = (i+1)%2;
			cur = i%2;
			for(int j=0; j<=i; j++) {
				if( j==0 || j==i) a[cur][j] = 1;
				else a[cur][j] = a[prv][j-1]+a[prv][j];
			}
			for(int j=0; j<=i; j++) printf("%d ", a[cur][j]);
			printf("\n");
		}
	}
}
#include <iostream>
using namespace std;
int T;
int N;
int a[2][10];
int main() {
	scanf("%d", &T);
	for (int tc=1; tc<=T; tc++) {
		scanf("%d", &N);
		printf("#%d\n", tc);
		for(int i=0; i<N; i++) {
			for(int j=0; j<=i; j++) {
				if( j==0 || j==i) a[i%2][j] = 1;
				else a[i%2][j] = a[(i+1)%2][j-1]+a[(i+1)%2][j];
			}
			for(int j=0; j<=i; j++) printf("%d ", a[i%2][j]);
			printf("\n");
		}
	}
}

3 Java[ | ]

import java.util.Scanner;
class Solution {
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        int T = sc.nextInt();
        for(int t=1; t<=T; t++) {
            System.out.format("#%d\n", t);
            int n = sc.nextInt();
            int cur[] = new int[n+2];
            int next[] = new int[n+2];
            cur[1] = 1;
            int i, j;
            for(i=1; i<=n; i++) {
                for(j=1; j<i+1; j++) System.out.format("%d ", cur[j]);
                System.out.println();
                for(j=1; j<i+2; j++) next[j] = cur[j-1]+cur[j];
                for(j=1; j<i+2; j++) cur[j] = next[j];
            }
        }
    }
}

4 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}