[ 문제 ]
[ 입력 ]
첫째 줄에 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 |