[math]백준1977-완전제곱수
by
백준1977 완전제곱수
#include <iostream>
#define max_size 9
using namespace std;
/*
89011483755109777
은 완전제곱수가 아닌데도 제곱근이 정수로 출력되는 것을 볼 수 있다. 소숫점 이하가 아주 작을 경우 버림을 해버리기 때문에 발생하는 일이다. 따라서 이것만으로는 완전제곱수인지 판단하기 어려우므로, 제곱근을 다시 제곱해서 원래의 수가 나오는지 확인해야 한다.
*/
int main()
{
int m, n;
cin >> m >> n;
int s = 0,mm=10001;
for (int i = m; i <= n; i++)
{
if (pow(int(pow(i, 0.5)), 2) == i)
{
s += i;
if (mm > i)
mm = i;
}
}
if (s == 0)
cout << -1;
else
{
cout << s << endl << mm;
}
return 0;
}
Subscribe via RSS