BZOJ 1041 [HAOI2008]圆上的整点【几何】
来源:互联网 发布:图片数字识别算法 编辑:程序博客网 时间:2024/05/16 11:12
1041: [HAOI2008]圆上的整点
Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 4499 Solved: 2023
[Submit][Status][Discuss]
Description
求一个给定的圆(x^2+y^2=r^2),在圆周上有多少个点的坐标是整数。
Input
只有一个正整数n,n<=2000 000 000
Output
整点个数
Sample Input
4
Sample Output
4
HINT
科普视频
以下转自:http://hzwer.com/1457.html
#include<cstdio>#include<cmath>using namespace std;typedef long long ll;ll r,ans,d,a;ll gcd(ll x,ll y){return x%y?gcd(y,x%y):y;}bool check(ll y ,double x){ if(x==floor(x)){ ll x1=(ll)floor(x); if(gcd(x1*x1,y*y)==1&&x1*x1!=y*y)return 1; } return 0;}int main(){ scanf("%lld",&r); for(d=1;d<=(ll)sqrt(r<<1LL);d++) if((r<<1LL)%d==0){ for(a=1;a<=(ll)sqrt((r<<1LL)/(d<<1LL));a++) if(check(a,sqrt(((2*r)/d)-a*a)))ans++; if(d!=(r<<1LL)/d) for(a=1;a<=(ll)sqrt(d>>1LL);a++)if(check(a,sqrt(d-a*a)))ans++; } printf("%lld",(ans+1)<<2LL);}
阅读全文
0 0
- BZOJ 1041 [HAOI2008]圆上的整点【几何】
- 【BZOJ 1041】 [HAOI2008]圆上的整点
- bzoj 1041: [HAOI2008]圆上的整点
- BZOJ 1041: [HAOI2008]圆上的整点
- 【BZOJ】1041: [HAOI2008]圆上的整点
- bzoj 1041: [HAOI2008]圆上的整点
- bzoj 1041 [HAOI2008]圆上的整点
- BZOJ P1041[HAOI2008]圆上的整点
- BZOJ 1041 [HAOI2008] 圆上的整点 题解与分析
- BZOJ 1041 HAOI2008 圆上的整点 数论
- BZOJ系列1041《[HAOI2008]圆上的整点》题解
- bzoj 1041: [HAOI2008]圆上的整点 【数学 思维】
- BZOJ 1041: [HAOI2008]圆上的整点 数论
- bzoj 1041: [HAOI2008]圆上的整点 (数学)
- 1041: [HAOI2008]圆上的整点
- 1041: [HAOI2008]圆上的整点
- [HAOI2008]圆上的整点
- 【BZOJ1041】[HAOI2008]圆上的整点 数学
- SpringData-jpa maven项目 cannot resolve symbol 'JdbcTemplate' 飘红
- Maven管理(依赖范围,依赖传递,依赖冲突,依赖可选,依赖排除)
- ubuntu 16.10 安装uboot-mkimage
- 【Openjudge, NOI,枚举】1749数字方格
- DOS原理和常用命令详解示例
- BZOJ 1041 [HAOI2008]圆上的整点【几何】
- 深度学习之卷积网络
- 下载ubuntu版本的网址
- 【图像融合】评价方法(熵、均方根误差)
- CF 853-C
- SSH 和 SSM 的实现原理
- volatile关键字
- Selenium
- QT5.9