Notice
Recent Posts
Recent Comments
Link
시간이 NullNull
[JAVA] [SWEA] 8016. 홀수 피라미드 본문
경표는 아래와 같이 삼각형 모양으로 숫자를 쌓기로 했다.
1층에는 1개, 2층에는 3개, 3층에는 5개, … 와 같이 쌓는다.

위와 같이 경표는 끝도 없이 피라미드를 쌓을 때, N층의 제일 왼쪽, 오른쪽에 쓰게 될 숫자가 무엇일지 예측해보자.
결국 숫자의 규칙을 찾으면 피라미드를 만들 필요도 없이 숫자를 바로 구할 수 있다.
어... 이 문제의 경우 사실 최대한 몇번째 줄인지를 나타내는 N에 대해서 연관지어서 생각한다면 금방 알 수 있다.
Tip. 이런 문제의 경우 숫자가 매우 불규칙해 보이므로 1을 더하거나 빼고 그 숫자를 다시 무언가를 해보도록 하자
아래에는 이 문제의 소스 코드이다.
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Solution {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int T = Integer.parseInt(br.readLine());
long N = 0;
long result1 = 0;
long result2 = 0;
for(int t=1; t<=T; ++t) {
N = Long.parseLong(br.readLine());
result1 = 2*(N-1)*(N-1) + 1;
result2 = 2*N*N - 1;
bw.write("#"+t+" "+result1+" "+result2+"\n");
}
br.close();
bw.close();
}
}
'알고리즘' 카테고리의 다른 글
[JAVA] [SWEA] 8931. 제로 (0) | 2020.02.23 |
---|---|
[JAVA] [SWEA] 8457. 알 덴테 스파게티 (0) | 2020.02.23 |
[JAVA] [SWEA] 9088. 다이아몬드 (0) | 2020.01.11 |
[JAVA] [SWEA] 5648. 원자 소멸 시뮬레이션 (0) | 2019.09.04 |
[JAVA] [BOJ] 17143. 낚시왕 (0) | 2019.09.04 |
Comments