c++求圆内整点

描述

平面直角坐标系中,一个以 n 为半径,以(0,0)为圆心的圆,所包含(圆内或圆上)所有的整数点

例如:以 1半径的圆,所包含的点为(0,0)(1,0)(0,1)(−1,0)(0,−1)一共五个点

输入描述 半径 n <= 25000

输出描述 整数点个数

样例输入 1

2

样例输出 1

13

样例输入 2

3

样例输出 2

29

样例输入 3

4

样例输出 3

49

AC代码:

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int main() {
    long long n, ans = 0;
    cin >> n;
    for (long long i = -n; i <= n; i++) {
        ans += ((int)floorl(sqrtl(n*n-i*i))) * 2 + 1;
    }
    cout << ans << endl;
    return 0;
}
相关推荐
阿贵---6 分钟前
C++中的备忘录模式
开发语言·c++·算法
setmoon21421 分钟前
C++中的观察者模式实战
开发语言·c++·算法
2403_8355684723 分钟前
C++代码规范化工具
开发语言·c++·算法
tankeven38 分钟前
HJ138 在树上游玩
c++·算法
lihihi1 小时前
P1209 [USACO1.3] 修理牛棚 Barn Repair
算法
weixin_387534222 小时前
Ownership - Rust Hardcore Head to Toe
开发语言·后端·算法·rust
庞轩px2 小时前
MinorGC的完整流程与复制算法深度解析
java·jvm·算法·性能优化
Queenie_Charlie2 小时前
Manacher算法
c++·算法·manacher
闻缺陷则喜何志丹2 小时前
【树的直径 离散化】 P7807 魔力滋生|普及+
c++·算法·洛谷·离散化·树的直径
AI_Ming2 小时前
Seq2Seq-大模型知识点(程序员转行AI大模型学习)
算法·ai编程