P9859 [CCC 2008 S2] Pennies in the Ring题解

· · 题解

题目传送门

这其实是一道可以直接暴力的题目。 思路: 遍历下 x 坐标范围,每次加上该 x 坐标中 y 坐标点的数量,用 ans 累加,最后输出答案即可。 废话不多说,直接上代码。\ Code:

#include<bits/stdc++.h>
using namespace std; 
int main(){
    int r;//半径输入 
    while(cin>>r){
        if(r==0)return 0;//结束程序 
        int ans=0;
        for(int x=-r;x<=r;x++){//遍历下坐标范围 
            double y=sqrt(r*r-x*x);
            ans+=floor(y)*2+1;//加上x坐标中y坐标点的数量 
        }
        printf("%d\n",ans);//输出答案并换行 
    }
    return 0;
}

禁止抄袭,从你我做起!!!\ 第一篇题解,希望管理员大佬能帮忙通过,万分感谢。