https://www.acmicpc.net/problem/2903
그냥 보면 조금 복잡해 보일 수도 있는 문제입니다.
근데 잘 생각해보면 점의 수는 한 변에 있는 점의 제곱인 것을 알 수 있죠.
그리고 한 변에 새로 생기는 점의 수는 이전 회차의 한 변의 점의 수에서 1을 뺀 것과 같습니다.
무슨 소리나면... (이번 회차의 한 변의 점의 수) = (지난 회차 한 변의 점 수) + (지난 회차 한 변의 점 수 -1)
로 표현할 수 있습니다.
여기까지 오면 문제 다 풀었죠 뭐.
#include <iostream>
#include <cmath>
using namespace std;
int main(){
int vertexForOneSide = 2;
int iteration;
cin >> iteration;
for(int i=0; i< iteration; i++){
vertexForOneSide += vertexForOneSide-1;
}
int result = pow(vertexForOneSide, 2);
cout << result;
}
< 백준 BaekJoon : 19532번 수학은 비대면강의입니다.> C++ (0) | 2023.08.04 |
---|---|
< 백준 BaekJoon : 9506번 약수들의 합> C++ (0) | 2023.08.03 |
< 백준 BaekJoon : 11005번 진법변환 2> C++ (0) | 2023.08.01 |
< 백준 BaekJoon : 2563번 색종이> C++ (0) | 2023.07.31 |
< 백준 BaekJoon : 10798번 세로읽기> C++ (0) | 2023.07.31 |
댓글 영역