博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
B1041 [HAOI2008]圆上的整点 数学
阅读量:4987 次
发布时间:2019-06-12

本文共 660 字,大约阅读时间需要 2 分钟。

这个题一开始看着没什么思路,但是一看题解就明白了不少,主要是数学证明,代码很好写。

贴个网址:

题干:

题目描述  求一个给定的圆(x^2+y^2=r^2),在圆周上有多少个点的坐标是整数。输入格式  只有一个正整数n,n<=2000 000 000输出格式  整点个数样例输入4样例输出4

代码:

#include
#include
#include
#include
using namespace std;int main(){ int n,ans=4; scanf("%d",&n); while((n&1)^1) n>>=1; int x=1; while(x*x<=n) x++; for(int i=2; i<=x; i++) if(n%i==0) { int c=0; while(n%i==0) c+=2,n/=i; if(i%4==1) ans*=(c+1); } if(n>1&&n%4==1) ans*=3; printf("%d\n",ans); return 0;}

 

转载于:https://www.cnblogs.com/DukeLv/p/9669533.html

你可能感兴趣的文章
设计模式之模板方法模式和策略模式
查看>>
遗弃(我看《功夫熊猫2》)
查看>>
iOS GCD基础篇 - 同步、异步,并发、并行的理解
查看>>
C++中const关键字详解
查看>>
Linux下的crontab定时执行任务命令详解
查看>>
【Java POI】POI基于事件驱动解析大数据量2007版本Excel,空值导致列错位问题
查看>>
.Net_05_事务的基本语法(Sql 语句)
查看>>
c++ 获取某个进程个数
查看>>
SparkSQL相关语句总结
查看>>
[洛谷P1514]引水入城
查看>>
[NC189A]数字权重
查看>>
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
查看>>
VS2015和OpenCV配置
查看>>
PHP_D4_“简易聊天室 ”的具体技术实现
查看>>
[BAT]通过schtasks.exe远程调用windows 2008 server上的计划任务,提示ERROR : Access is denied...
查看>>
关于实习的一些问题
查看>>
Mybatis Insert、update、delete流程
查看>>
NameValueCollection与Hashtable的区别
查看>>
DevExpress XtraReports 入门三 创建 Master-Detail(主/从) 报表
查看>>
Json对象的深浅拷贝
查看>>