1、整点(a.cpp)
【题目描述】
在二维坐标系, 有一个圆,圆心在(0,0),圆的半径是r。问圆内有多少个整点(所谓的整点就是横坐标和纵坐标都是整数的点)。
若点P的横坐标是整数a,纵坐标是整数b,那么只要满足a*a + b*b <= r*r, 那么P就是圆内的整点。
【输入格式】
多组测试数据。
第一行,一个整数G,表示有G组测试数据。1 <= G <= 10。
每组测试数据格式:
一个整数r。 1<=r<=100。
【输出格式】
共G行,每行一个整数。
输入样例 | 输出样例 |
5 1 2 3 47 96 | 4 12 28 6920 28916
|
程序
#include<bits/stdc++.h>
using namespace std;
int n,r,ans;
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
ans=0;
cin>>r;
for(int i=-(r+r);i<=r+r;i++)
{
for(int j=-(r+r);j<=r+r;j++)
{
if(i*i+j*j<=r*r)ans++;
}
}
cout<<ans-1<<endl;
}
return 0;
}
其实第一题简直水题!