목차
코드
#include <iostream>
using namespace std;
bool judge_ps(int n){
for(int i=1; i<=100; i++){
if(i*i == n) return 1;}
return 0;
}
int main() {
int n, m, i;
int sum = 0;
int min_num = 10001;
cin >> n >> m;
for(int i=n; i<=m; i++){
if(judge_ps(i)){
sum += i;
min_num = i < min_num ? i : min_num;
}
}
if(sum == 0) cout << -1;
else cout << sum << endl << min_num << endl;
}
풀이
M과 N이 주어질 때 그 사이에 있는 수 중 완전 제곱수를 찾는 문제입니다.
주어진 수의 범위가 최대 10000까지 입니다.
이는 즉, 1~100의 수를 제곱해서 완전제곱수를 찾을 수 있다는 뜻과 같습니다.
'공부 > 백준' 카테고리의 다른 글
백준 2609번: 최대공약수와 최소공배수(C++) (0) | 2020.12.02 |
---|---|
백준 1110번: 더하기 사이클(C++) (0) | 2020.12.01 |
백준 1075번: 나누기(C++) (0) | 2020.11.29 |
백준 9251번: LCS(C++) (0) | 2020.11.28 |
백준 1912번: 연속합(C++) (0) | 2020.11.27 |