728x90
#include <iostream>
#include <cmath>
using namespace std;
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int m, n;
cin >> m >> n;
int arr[10000] = { 0 };
int sum = 0;
int min = 10000;
for (int i = 1; i < n; i++) {
arr[i] = i * i;
}
for (int i = 1; i <= n; i++) {
if (m<=arr[i]&&arr[i]<=n) {
sum += pow(i,2);
if (min > pow(i,2))
min = pow(i,2);
}
}
if (sum == 0)
cout << -1<<'\n';
else
cout << sum << '\n' << min;
}
처음에 sqrt를 사용해서 풀어보려 했지만 어찌해야하는지 감이 안잡혀서 다른블로그를 참고했다.
해당 블로그 글의 답으로 해결하려했으나 오류가있어 pow를 사용해 답을 다시 구했다.
https://jaynamm.tistory.com/entry/1977%EB%B2%88-%EC%99%84%EC%A0%84%EC%A0%9C%EA%B3%B1%EC%88%98
코드중의 i는 결국 제곱근이었고 문제에서 원하는 답은 완전제곱수의 합과 그의 최소값이어서 제곱을 진행했다.
728x90
'알고리즘 연습' 카테고리의 다른 글
C++ 10984 내학점을 구해줘 (0) | 2021.10.15 |
---|---|
C++11098 첼시를 도와줘 (0) | 2021.10.11 |
C++ 1541 잃어버린 괄호 (0) | 2021.10.07 |
C++ 1931 회의실 배정 (0) | 2021.10.07 |
C++ 11047 동전0 (그리디알고리즘) (0) | 2021.10.06 |