求圆上的整点,输入半径的平方。
#include "iostream"
#include "string"
#include "vector"
#include "map"
#include "set"
#include "stack"
#include "queue"
#include "algorithm"
using namespace std;
int val;
void solve()
{
while (cin >> val)
{
int r = sqrt(val);
int count = 0;
for (int i = 0; i*i < val; ++i)//很微妙的地方,写成i<r一直过不了,因为忽视了i=r,j!=r的情况。
{
int j = sqrt(val - i*i);
if (i*i + j*j == val)
count++;
}
if (r*r == val)
count++;
cout << count * 4 << endl;
}
}
int main()
{
solve();
return 0;
}
遇见问题要静下心来分析。有时候举个例子一下就明白了,不要浮躁。