https://www.acmicpc.net/problem/11320
🔔 문제 :
한 변의 길이가 A와 B인 정삼각형이 있습니다.
두 개의 정수 A, B가 주어지고, B <= A 이며, A를 B로 나눌 수 있을때,
A인 정삼각형을 B인 정삼각형으로 완전히 덮어버린다고 할 때, 필요한 최소의 B의 갯수를 구하는 문제입니다.
🔔 Kick Point :
A/B가 i라고 지정 할 때
i = 1 : 1
i = 2 : 1 + 3
i = 3 : 1 + 3 + 5
i = 4 : 1 + 3 + 5 + 7
i = 5 : 1 + 3 + 5 + 7 + 9
i = 6 : 1 + 3 + 5 + 7 + 9 + 11
A/B에 따라서 필요한 정삼각형의 갯수가 2개씩 늘어나는 등차수열의 합임을 알 수 있습니다.
이를 쉽게 구하면 (A/B) * (A/B)임 을 알 수 있습니다.
🔔 Code :
#include <iostream>
using namespace std;
int main() {
int t; cin >> t;
while (t--) {
int a, b; cin >> a >> b;
cout << (a / b) * (a / b) << '\n';
}
}