网易编程题-圆上优雅点c++实现

来源:互联网 发布:今日方知我是我的诗句 编辑:程序博客网 时间:2024/05/22 23:03
/***********小易有一个圆心在坐标原点的圆,小易知道圆的半径的平方。小易认为在圆上的点而且横纵坐标都是整数的点是优雅的,小易现在想寻找一个算法计算出优雅的点的个数,请你来帮帮他。例如:半径的平方如果为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;}

原创粉丝点击