B1041 [HAOI2008]圆上的整点 数学
2024-09-02 03:04:39
这个题一开始看着没什么思路,但是一看题解就明白了不少,主要是数学证明,代码很好写。
贴个网址:
题干:
题目描述
求一个给定的圆(x^+y^=r^),在圆周上有多少个点的坐标是整数。 输入格式
只有一个正整数n,n<= 输出格式
整点个数 样例输入 样例输出
代码:
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
int main()
{
int n,ans=;
scanf("%d",&n);
while((n&)^) n>>=;
int x=;
while(x*x<=n) x++;
for(int i=; i<=x; i++)
if(n%i==)
{
int c=;
while(n%i==) c+=,n/=i;
if(i%==) ans*=(c+);
}
if(n>&&n%==) ans*=;
printf("%d\n",ans);
return ;
}
最新文章
- sql2008r2-vs2013安装下载
- cent7内核升级4.9
- 【python】pymongo查找某一时间段的数据
- 【转载】springMVC表单校验+全注解
- linux下操作PostgreSQL的常用命令
- 《Python 学习手册4th》 第四章 介绍Python对象类型
- php执行的困惑
- Web 安全之内容安全策略 (CSP)
- WPF Customize TabControl
- injector
- AJAX应用中必须要掌握的知识!
- js 获取单项复选的值
- php抓取ajax页面返回图片。
- Swift - 访问通讯录联系人(使用纯代码实现)
- golang string和[]byte的对比
- Window10上安装Redis及其客户端
- Linux 添加新分区和 移动 /home到新挂载分区
- Centos7单主机部署 LAMP + phpmyadmin 服务
- How to Pronounce the Numbers 1 – 10
- Java 中转换为String类型的四种方法