본문 바로가기
백준 알고리즘 코딩

[C언어] 백준 2903번 중앙 이동 알고리즘

by 1005_ 2025. 4. 16.

[ 문제 ]

[ 입력 ]

첫째 줄에 N이 주어진다. (1 ≤ N ≤ 15)

[ 출력 ]

첫째 줄에 과정을 N번 거친 후 점의 수를 출력한다.

[ 작성한 코드 ]

#include <stdio.h>

int main()
{
    int N,i;
    int num = 2; //초기상태 한변의 점 개수
    scanf("%d",&N);

    for (i = 0; i < N; i++)
    {
        num = num * 2 - 1; 
    }

    printf("%d",num * num);
    
    return 0;
}

 

초기상태의 한 변에 존재하는 점의 개수는 2개이고 총 점의 개수는 2 * 2 = 4 이다.

각 상태에서 한변에 존재하는 점의 개수를 num이라하면 num * num이 최종 점의 개수이다.

 

각 상태에서 num을 구하는 공식은 num = num * 2 -1 이다. 이 공식만 찾는다면 정말 간단하게 풀 수 있는 문제이다.

알고리즘 분류

  • 수학

'백준 알고리즘 코딩' 카테고리의 다른 글

[C언어] 백준 26594번 ZOAC 5  (0) 2025.04.22
[C언어] 백준 2566번 최댓값  (0) 2025.04.19
[C언어] 백준 3986 좋은 단어  (0) 2025.04.14
백준 10799번 쇠막대기  (0) 2025.04.13
[C언어] 백준 10773번 제로  (0) 2025.04.12