[백준] Baekjoon Online Judge
문제
어떤 양의 정수의 제곱인 수를 완전제곱수라고 부른다. 양의 정수 이 주어지면 이 완전제곱수인지 판별하자.
입력
첫째 줄에 테스트 케이스의 개수 가 주어진다.
둘째 줄부터 개의 줄에 걸쳐 양의 정수 이 한 줄에 하나씩 주어진다.
출력
개의 줄에 걸쳐 각 테스트 케이스마다 이 완전제곱수라면 1, 그렇지 않으면 0을 출력한다.
제한
풀이
#include <iostream>
#include <cmath>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
int T;
cin >> T;
while (T--) {
int N;
cin >> N;
int n = sqrt(N);
cout << (int)(n * n == N) << '\n';
}
return 0;
}
int는 소수점 아래의 숫자를 버리기 때문에 완전제곱수가 아닌 수의 (제곱근 * 제곱근)은 기존의 수 N과 값이 달라진다.
'백준 > C++' 카테고리의 다른 글
| [Baekjoon/C++] 2896번 - 무알콜 칵테일 (0) | 2025.08.29 |
|---|---|
| [Baekjoon/C++] 28062번 - 준석이의 사탕 사기 (1) | 2025.08.26 |
| [Baekjoon/C++] 10874번 - 이교수님의 시험 (1) | 2025.08.21 |
| [Baekjoon/C++] 29729번 - 가변 배열 (1) | 2025.08.07 |
| [Baekjoon/C++] 14494번 - 다이나믹이 뭐예요? (1) | 2025.06.04 |
