bzoj1041 圆上的整点 数学
2024-09-04 10:44:04
题目大意:求一个给定的圆(x^2+y^2=r^2),在圆周上有多少个点的坐标是整数。
思路:没思路,看大佬的博客(转载自https://blog.csdn.net/csyzcyj),转载只为记录,详细的证明,大佬的博客已经写得很清楚了,不再赘述,数论题就是这样开心又头秃
#include<bits/stdc++.h>
#define CLR(a,b) memset(a,b,sizeof(a))
using namespace std;
typedef long long ll;
long long R,ans=;
long long gcd(long long x,long long y){return x%y== ? y : gcd(y,x%y);}
bool check(long long y,double x)
{
if(x==floor(x))
{
long long x1=(long long)floor(x);
if(gcd(x1*x1,y*y)== && x1*x1!=y*y)//gcd(A,B)=1并且A!=B
return true;
}
return false;
}
int main()
{ scanf("%lld",&R);
for(long long d=;d<=(long long)sqrt(*R);d++)
{
if((*R)%d==)
{
for(long long a=;a<=(long long)sqrt(*R/(*d));a++)
{
double b=sqrt(((*R)/d)-a*a);
if(check(a,b))
ans++;
}
if(d!=(*R)/d)
{
for(long long a=;a<=(long long)sqrt(d/);a++)
{
double b=sqrt(d-a*a);
if(check(a,b))
ans++;
}
}
}
}
printf("%lld\n",ans*+); return ;
}
最新文章
- 0、Web基本概念
- Win8/Win10无法打开这个应用 内置管理员账户
- spring MVC注解深入研究
- 【AdaBoost算法】强分类器训练过程
- php敏感词过滤
- How to upgrade boost libary using apt-get ?
- 利用SCI做的一个足球答题系统
- mysql concat和group_concat
- 在2015中使用V12版本的ReportView控件,会导致winform窗体不能正常打开
- eclipse中使用Lombok
- spring boot多数据源配置(mysql,redis,mongodb)实战
- 一些恶作剧的vbs程序代码
- MySQL Workbench导出Model提示[&#39;ERROR 1064 (42000): You have an error in your SQL syntax....syntax to use near &#39;VISIBLE&#39;]
- QT-1-环境搭建QT5.4.1&;MinGW4.9.1
- TCP的11种状态(转载)
- 在Web应用程序中执行计划任务(多线程)
- 在linux中使用终端浏览器w3m
- [转]ASP.NET Core 十种方式扩展你的 Views
- cetos6配置用msmtp和mutt发邮件(阿里云)
- Polycarp Restores Permutation