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

잔글 (봇: 자동으로 텍스트 교체 (-</source> +</syntaxhighlight>, -<source +<syntaxhighlight ))
8번째 줄: 8번째 줄:


==C++==
==C++==
<source lang='cpp'>
<syntaxhighlight lang='cpp'>
#include <iostream>
#include <iostream>
using namespace std;
using namespace std;
32번째 줄: 32번째 줄:
}
}
}
}
</source>
</syntaxhighlight>
<source lang='cpp'>
<syntaxhighlight lang='cpp'>
#include <iostream>
#include <iostream>
using namespace std;
using namespace std;
54번째 줄: 54번째 줄:
}
}
}
}
</source>
</syntaxhighlight>


==Java==
==Java==
<source lang='java'>
<syntaxhighlight lang='java'>
import java.util.Scanner;
import java.util.Scanner;
class Solution {
class Solution {
79번째 줄: 79번째 줄:
     }
     }
}
}
</source>
</syntaxhighlight>


==같이 보기==
==같이 보기==
* [[파스칼의 삼각형]]
* [[파스칼의 삼각형]]

2021년 7월 31일 (토) 10:56 판

1 개요

SWEA 2005 파스칼의 삼각형
  • 크기가 1~10인 파스칼의 삼각형을 출력하는 문제
SW Expert 아카데미
# 문제 풀이

틀:SWEA 난이도 2-1

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 }}