毕达哥斯三元组的模板题

练习练习

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
typedef long long ll;
const int maxn = 1e6 +131;
bool Jug[maxn];
int ans, sum; int gcd(int a,int b)
{
return b == 0 ? a : gcd(b,a%b);
} void solve(int); int main()
{
int n;
while(~scanf("%d",&n))
{
solve(n);
}
return 0;
} void solve(int n)
{
memset(Jug,false,sizeof(Jug));
ans = sum = 0;
int tmp = int(sqrt(n +1.0));
for(int i = 1; i <= tmp; ++i)
{
for(int j = i+1; j <= tmp; ++j)
{
if(i*i + j*j > n) break;
if(gcd(i,j) == 1 && (i % 2 != j % 2))
{
int x = j * j - i * i;
int y = 2 * i * j;
int z = j*j + i*i;
if(x*x + y*y == z*z)
{
ans ++;
for(int i = 1; ; i ++)
{
if(i * z > n) break;
Jug[i*x] = true;
Jug[i*y] = true;
Jug[i*z] = true;
}
}
}
}
}
for(int i = 1; i <= n; ++i) if(Jug[i] == false) sum++;
printf("%d %d\n",ans,sum);
}

最新文章

  1. pentaho cde 选择性的显示多列数据
  2. Android ActionBar的基本用法
  3. Netstat 命令
  4. 解决Maven不能下载“oracle、aspectjweaver、com.springsource.net.sf.cglib”jar
  5. codeforces #310 div1 D
  6. IOS 退出App
  7. Android中使用SurfaceView和Canvas来绘制动画
  8. C#中ISpostback
  9. MongoDB服务安装
  10. 设置共享文件夹,samba和chmod到底谁的权限大
  11. redis11--java_jedis-test
  12. eval基础,基础用法及解析json
  13. VxWorks程序指南
  14. 在TextBox中敲击回车执行ASP.NET后台事件
  15. angularjs和ajax的结合使用 (三)
  16. use redis instance in docker hub
  17. POJ1741(SummerTrainingDay08-G 树的点分治)
  18. 〖Linux〗Shell十进制数值转换十六进制
  19. 使用Python 、 go 语言测试rabbitmq的工作机制
  20. Python全栈开发之3、数据类型set补充、深浅拷贝与函数

热门文章

  1. 绕不开的hadoop
  2. in和hasOwnProperty的区别
  3. java运维: 一次线上问题排查所引发的思考
  4. IIS7.5配置过程
  5. 关于TCP/IOCP构架中出现的Socket假死连接解决方案
  6. 【python小练】0020
  7. list vector map set (转)
  8. Debian Security Advisory(Debian安全报告) DSA-4407-1 xmltooling
  9. JMeter(三)遇到的问题01: 通过CSV Data Set Config参数化有中文时,显示为?
  10. Linux 01 计算机系统硬件组成简介