1.题目链接。给定半径,找一下这个圆上有多少个整点。其实也就是格点。

2.这个题目其实是比较有意思的,做法也有很多种。比较常规的解法是:

到这里其实就好办了,因为x是一个平方数,A,B互质,所以A,B也应该是一个平方数。

所以枚举2*r的因子,然后计算数量即可。

其实这个题目里面涉及到了一些比较有趣的东西:首先是一个结论:

然后这个题目更深层次的涉及到了高斯素数,有兴趣的可以学习一下。

#include<bits/stdc++.h>
using namespace std;
#define ll long long
int res;
#pragma warning(disable:4996)
ll gcd(ll a, ll b)
{return b == 0 ? a : gcd(b, a % b);
}
bool check(ll n)
{ll sq = sqrt(n);return sq * sq == n;
}
void solve(ll rr)
{for (ll i = 1;i*i<= rr; i++){ll t = rr - i * i;if (!check(t))continue;ll j = sqrt(rr - i * i);if (i >= j)break;if (gcd(i*i, t) == 1)res++;}
}
int main()
{ll r;scanf("%lld", &r);res = 1;r <<= 1;for (ll d = 1;d*d <= r; d++){if (r% d != 0) continue;solve(r / d);if (d*d== r) break;solve(d);}printf("%d\n", res << 2);return 0;
}

【BZOJ 1041】圆上整点相关推荐

  1. BZOJ 1041 圆上的整点 数学

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1041 题目大意: 求一个给定的圆(x^2+y^2=r^2),在圆周上有多少个点的坐标是 ...

  2. [BZOJ 1041] 圆上的整点

    Description 求一个给定的圆( x2+y2=r2 x 2 + y 2 = r 2 x^2+y^2=r^2),在圆周上有多少个点的坐标是整数 Input 只有一个正整数 n n n,n≤200 ...

  3. Peekaboo(2019年上海网络赛K题+圆上整点)

    目录 题目链接 题意 思路 代码 题目链接 传送门 题意 你的位置在\(O(0,0)\),\(A\)的位置为\((x_1,y_1)\),\(B\)的位置为\((x_2,y_2)\),现在已知\(a=O ...

  4. 2019 ICPC 上海站网络赛 K.Peekaboo (圆上整点)

    https://nanti.jisuanke.com/t/41421 题意:给定平面上两个点到原点之间的距离aaa和bbb以及这两点之间的距离ccc,且这两点的坐标均是整数,求该两点可能的坐标,按字典 ...

  5. bzoj 1041: [HAOI2008]圆上的整点

    1041: [HAOI2008]圆上的整点 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 2838  Solved: 1238 [Submit][S ...

  6. bzoj千题计划127:bzoj1041: [HAOI2008]圆上的整点

    http://www.lydsy.com/JudgeOnline/problem.php?id=1041 设 X>0 ,Y>0 X^2 + Y^2 = R^2 X^2 = R^2-Y^2 ...

  7. BZOJ 4544: 椭圆上的整点

    Sol 数学. 跟圆上的整点一样...TA写了个积性函数的算法...以后再说吧... \(x^2+3y^2=r^2\) \(3y^2=r^2-x^2\) \(3y^2=(r-x)(r+x)\) \(y ...

  8. 有限覆盖定理证明区间套_圆内整点问题的开普勒猜想证明,关于圆内整点问题误差项的估值E(r)=1-x,x=sin(nx)...

    将圆内整点问题视为格点对于圆的最大密度填充,用开普勒猜想证明,二维平面的 圆内整点问题误差项的估值 ,圆半径的格点数表示 , , 延拓至椭圆内整点问题结合皮克定理可应用于椭圆周长计算,当短长轴之比趋于 ...

  9. Java黑皮书课后题第4章:*4.6(图上的随机点)编写一个程序,产生一个圆心位于(0,0)原点半径为40的圆上面的三个随机点,显示由这三个随机点组成的三角形的三个角的度数

    *4.6(图上的随机点)编写一个程序,产生一个圆心位于(0,0)原点半径为40的圆上的三个随机点,显示由这三个随机点组成的三角形的三个角的度数 题目 题目概述 破题 代码 题目 题目概述 *4.6(图 ...

最新文章

  1. 如何用asp.net向其他服务器post一条信息
  2. JS 活学活用正则表达式
  3. BeanShell自动装箱拆箱
  4. python spider是什么_python分布式爬虫中spider_Worker节点指的是什么
  5. SQL数据导入mongodb
  6. 进销存excel_进销存报表还再花钱买软件?别傻了!教你一个Excel函数就能搞定...
  7. 技术人物:张亚勤-“智造中国”规划师(一)
  8. 课堂经验值管理小程序_小程序刷新课堂评价 “量子奖状”能量大
  9. 传奇GEE引擎版本架设
  10. 各种滤镜算法C语言,Photoshop入门学习之PS 滤镜算法原理——染色玻璃
  11. linux下启动tomcat----Cannot find ./catalina.sh
  12. 宜信大数据金融云==宜信==谷文栋==金融科技行业动态系列1
  13. 优化算法—人工蜂群算法(ABC)
  14. 力天创见双目客流统计方案
  15. 16 - 12 - 06 克鲁斯卡尔(Kruskal)算法详解
  16. Autofac的基本使用
  17. 中国各省份官方报纸数据
  18. 学习笔记☞ MongoDB(芒果数据库) ☞【查找,删除,操作符】
  19. Python小游戏 猜数字——非常有趣的小游戏
  20. 密码学基础:Pedersen Commitment

热门文章

  1. RPC — 微服务之gRPC框架技术解析
  2. 新垣结衣夫妇的baby长啥样,用 BabyGAN 预测试试
  3. 将天数转换成对应的周数C语言详解
  4. 传奇私服脚本大全1 加精
  5. Mesos已死,容器永生
  6. 基于html5的智慧校园选课系统的设计与实现
  7. day7 - 日志和作业
  8. 人工神经网络算法的应用,人工神经网络算法步骤
  9. 神经网络算法可以用来干什么
  10. 用户留存分析案例 | 以京东、淘宝、饿了么为例!