毕达哥斯三元组的模板题

练习练习

#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);
}

POJ 1305的更多相关文章

  1. POJ 1305 Fermat vs. Pythagoras (毕达哥拉斯三元组)

    设不定方程:x^2+y^2=z^2若正整数三元组(x,y,z)满足上述方程,则称为毕达哥拉斯三元组.若gcd(x,y,z)=1,则称为本原的毕达哥拉斯三元组. 定理:正整数x,y,z构成一个本原的毕达 ...

  2. 数论(毕达哥拉斯定理):POJ 1305 Fermat vs. Pythagoras

    Fermat vs. Pythagoras Time Limit: 2000MS   Memory Limit: 10000K Total Submissions: 1493   Accepted: ...

  3. Fermat vs. Pythagoras POJ - 1305 (数论之勾股数组(毕达哥拉斯三元组))

    题意:(a, b, c)为a2+b2=c2的一个解,那么求gcd(a, b, c)=1的组数,并且a<b<c<=n,和不为解中所含数字的个数,比如在n等于10时,为1, 2, 7,9 ...

  4. poj 题目分类(1)

    poj 题目分类 按照ac的代码长度分类(主要参考最短代码和自己写的代码) 短代码:0.01K--0.50K:中短代码:0.51K--1.00K:中等代码量:1.01K--2.00K:长代码:2.01 ...

  5. POJ题目分类(按初级\中级\高级等分类,有助于大家根据个人情况学习)

    本文来自:http://www.cppblog.com/snowshine09/archive/2011/08/02/152272.spx 多版本的POJ分类 流传最广的一种分类: 初期: 一.基本算 ...

  6. POJ题目细究

    acm之pku题目分类 对ACM有兴趣的同学们可以看看 DP:  1011   NTA                 简单题  1013   Great Equipment     简单题  102 ...

  7. 转载:poj题目分类(侵删)

    转载:from: POJ:http://blog.csdn.net/qq_28236309/article/details/47818407 按照ac的代码长度分类(主要参考最短代码和自己写的代码)  ...

  8. POJ 3370. Halloween treats 抽屉原理 / 鸽巢原理

    Halloween treats Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 7644   Accepted: 2798 ...

  9. POJ 2356. Find a multiple 抽屉原理 / 鸽巢原理

    Find a multiple Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7192   Accepted: 3138   ...

随机推荐

  1. JVM垃圾回收机制与内存回收

    暂时转于:https://blog.csdn.net/qq_27035123/article/details/72857739 垃圾回收机制 GC是垃圾回收机制,java中将内存管理交给垃圾回收机制, ...

  2. Win10升级.NET Framework 3.5或2.0遇到错误0x800f081f怎么办

    为了让win10系统更好地运行游戏,很多玩家都会在电脑中安装.NET Framework 3.5或.NET Framework 2.0.不过,部分用户在更新升级.NET Framework 3.5和2 ...

  3. Python获取下载速度并显示进度条

    #!/usr/bin/python3 # -*- coding:utf-8 -*- import sys import time from urllib import request ''' urll ...

  4. CSS魔法(五)项目实战

    三大标签--title.description.keyword   淘宝网 <title>淘宝网 - 淘!我喜欢</title> <meta name="spm ...

  5. GCC编译器原理(二)------编译原理一:ELF文件(3)

    4.5 String Table:字符串表 字符串表节区包含以 NULL( ASCII 码 0) 结尾的字符序列, 通常称为字符串. ELF 目标文件通常使用字符串来表示符号和节区名称. 对字符串的引 ...

  6. CTF 湖湘杯 2018 WriteUp (部分)

    湖湘杯 2018 WriteUp (部分),欢迎转载,转载请注明出处! 1.  CodeCheck(WEB) 测试admin ‘ or ‘1’=’1’# ,php报错.点击登录框下面的滚动通知,URL ...

  7. luogu P4314 CPU监控

    传送门 这是个远古巨坑阿qwq 没有历史最大值还是能比较好做的.可能会有一个想法,就是直接维护线段树每个结点出现过的历史最大值,每次最大值变化就更新.但是有个问题:可能一个点能影响历史最大值的标记还没 ...

  8. luogu P3704 [SDOI2017]数字表格

    传送门 我是真的弱,推式子只能推一半 下面假设\(n<m\) 考虑题目要求的东西,可以考虑每个gcd的贡献,即\[\prod_{d=1}^{n}f[d]^{\sum_{i=1}^{\lfloor ...

  9. Hive思维导图之Hive优化

  10. python 的基础 学习 第三天 编码的初始

    1  编码的初始 计算机在存储数据和传输数据的时候,都是0101的二进制. ASCII(American Standard Code for Information Interchange,美国标准信 ...