/***********
小易有一个圆心在座标原点的圆,小易知道圆的半径的平方。小易认为在圆上的点而且横纵座标都是整数的点是优雅的,
小易现在想寻找一个算法计算出优雅的点的个数,请你来帮帮他。
例如:半径的平方如果为25
优雅的点就有:(+/-3, +/-4), (+/-4, +/-3), (0, +/-5) (+/-5, 0),一共12个点。
**********/
#include <iostream>
using namespace std;
void main()
{
int rr;
double r=0;
cin>>rr;
r=sqrt(rr);
int x=int(r);
int count=0;
for (int xi=x;xi>0;xi--)
{
int yi=r-xi;
while (rr>=xi*xi+yi*yi)
{
if (rr==xi*xi+yi*yi)
{
count++;
break;
}
yi++;
}
}
cout<<4*count;
}
网易编程题-圆上优雅点c++实现
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.