백준
백준 2903번 c#
대왕군
2024. 1. 26. 20:42
using System;
namespace Baekjoon
{
internal class Program
{
static void Main(string[] args)
{
//그냥 콘솔창 예쁘게 꾸미는 코드(심심해서 넣음)
Console.BackgroundColor = ConsoleColor.DarkCyan;
//몇 번 반복할지 받아옴
int count = int.Parse(Console.ReadLine());
//초기 상태(사각형 한 개)의 사각형 한 변의 점 개수 2개
int lineDot = 2;
//입력값만큼 반복
for (int i = 0; i < count; i++)
{
//i번째 반복했을 때, 한 변의 점 갯수 구하는 법
//이전 단계 한 변의 점 개수 * 2 - 1 = 현재 단계 한 변의 점 개수
//단, 맨 처음 초기상태(사각형이 하나만 있을 때)에서는 이 공식 제외
lineDot = lineDot * 2 - 1;
}
//공식
//한 변의 점 개수의 2제곱 = 현재 단계의 사각형 점의 총 갯수
Console.WriteLine(Math.Pow(lineDot, 2));
}
}
}
공식
처음에 몇 시간이 걸리도록 규칙을 못찾아내서 애먹었다
결국 다른 블로그를 찾아 힌트를 봤는데 각 변의 제곱이 그 단계의 모든 점 갯수란 것을 알았다
그리고 해결방법을 생각해내다가 공식을 발견해서 해결하였다.