思路:
数学题,打表可以找出规律,不过我们也可以推一下。

c2=a2+b2c^2 = a^2 + b^2c2=a2+b2
c=a2−bc = a^2 - bc=a2−b
⇒\Rightarrow⇒c2=b2+c+bc^2 = b^2 + c + bc2=b2+c+b
⇒\Rightarrow⇒c(c−1)=b(b+1)c(c-1)=b(b+1)c(c−1)=b(b+1)
因为c,c−1c,c-1c,c−1互质,b,b+1b,b+1b,b+1互质,所以要么c=bc=bc=b,要么c=b+1c=b+1c=b+1
而c>bc>bc>b
所以c=b+1c=b+1c=b+1

推出b=(a2−1)/2b=(a^2-1)/2b=(a2−1)/2
推出c=(a2−1)/2+1c=(a^2-1)/2+1c=(a2−1)/2+1

易得aaa必须得为大于3的奇数,ccc才能有意义。而我们已经知道ccc的最大范围nnn,所以只需要算出存在多少(a2−1)/2+1≤n(a^2-1)/2+1≤n(a2−1)/2+1≤n,a=2k+1,k≥1a=2k+1,k≥1a=2k+1,k≥1。

#include <cstdio>
#include <cstring>
#include <algorithm>
#include <map>
using namespace std;
typedef long long ll;
const int maxn = 1e5 + 7;
const int mod = 1e9 + 7;
typedef long long ll;
ll c[maxn];
int cnt;
void init() {cnt = 0;for(int a = 3;a <= 100000;a += 2) {c[++cnt] = (1ll * a * a - 1) / 2 + 1;}
}
int main() {init();int T;scanf("%d",&T);while(T--) {int n;scanf("%d",&n);int ans = upper_bound(c + 1,c + 1 + cnt,n) - (c + 1);printf("%d\n",ans);}return 0;
}

Codeforces-1487 D. Pythagorean Triples(数学)相关推荐

  1. 【codeforces 707C】Pythagorean Triples

    [题目链接]:http://codeforces.com/contest/707/problem/C [题意] 给你一个数字n; 问你这个数字是不是某个三角形的一条边; 如果是让你输出另外两条边的大小 ...

  2. C. Pythagorean Triples

    链接:https://codeforces.com/problemset/problem/707/C Katya studies in a fifth grade. Recently her clas ...

  3. CF707C Pythagorean Triples 题解

    CF707C Pythagorean Triples 题解 题目 链接 字面描述 题面翻译 题目描述 输入格式 输出格式 样例 #1 样例输入 #1 样例输出 #1 样例 #2 样例输入 #2 样例输 ...

  4. D. Pythagorean Triples(1487D)(打表找规律 + 二分)

    D. Pythagorean Triples(1487D)(打表找规律 + 二分) 题目来源:D. Pythagorean Triples 题意: 给定一个 n,求满足以下条件的数对 (a, b, c ...

  5. hdu2017青岛网络赛Pythagoras(Tree of primitive Pythagorean triples)

    题面: Given a list of integers a0,a1,a2,⋯,a2k−1. Pythagoras triples over 109 are all solutions of x2+y ...

  6. python:实现Pythagorean triples毕氏三元数(附完整源码)

    python:实现Pythagorean triples毕氏三元数 limit = int(input("Enter upper limit:")) c = 0 m = 2 whi ...

  7. JAVA:实现是否为Pythagorean Triples毕达哥斯拉三角数算法(附完整源码)

    JAVA:实现是否为Pythagorean Triples毕达哥斯拉三角数算法 package com.thealgorithms.maths;public class PythagoreanTrip ...

  8. Codeforces Round #368 (Div. 2) C. Pythagorean Triples

    题目链接:http://codeforces.com/contest/707/problem/C 题意: 直角三角形的三边都为整数,给出其中一边n,求另外两边m.k. (1 ≤ n ≤ 109)  ( ...

  9. Codeforces Round #368 (Div. 2) problem: (C) Pythagorean Triples

    本题就一个公式 n^2+((n^2-1)/2)^2=((n^2+1)/2)^2 0.当n==1或n==2时,不存在结果. 1.当n为奇数时此公式求得的数还是整数,成立 2.当n为偶数时分两种情况: ( ...

最新文章

  1. (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  2. 对 VR 项目开发流程的调研
  3. 2016年全球芯片市场或衰退2.13%
  4. Windows MDL原理总结
  5. Apache2为什么会自动加载index.php
  6. zabbix自动发现监控磁盘(iops和读写量)
  7. 大型JavaScript应用程序架构模式
  8. 用自己电脑做服务器,建个人网站
  9. python qtextedit设置光标位置_Python基础命令学习——就这一篇文章就够了
  10. mysql myclre_mysql 索引及查询优化总结
  11. 全国英语等级考试网上报名
  12. 单元测试和sit测试和uat测试
  13. 基于Easy CHM和VS的帮助文档制作
  14. MATLAB数值微积分与方程求解
  15. PyTorch 实现kmax-pooling
  16. 在 Github 制作在线简历 PDF
  17. 借问钱程何处有,牧童劝我学Python——2019python职位分析
  18. 【Linux系统达梦数据库软件安装】
  19. UVA, 516 Prime Land
  20. 苹果7处理器_苹果发布重磅创世纪新品!苹果将再次改变世界了吗?

热门文章

  1. android 钉钉考勤日历,vue实现钉钉的考勤日历
  2. 【Java】月份枚举
  3. ctfshow萌新赛web
  4. 顶级黑客欢乐解析:宝宝事件中人肉搜索的七种方法
  5. mysql 难点_数据库技术的重点与难点有什么?
  6. 限制Editext输入字节长度
  7. 顶级程序员书单系列二:《编码-隐匿在计算机软硬件背后的语言》
  8. 海外主机是什么意思?与国内主机有什么区别?
  9. CAD学习笔记中级课【CAD快捷键】
  10. 计算机应用数据结构是什么,应用数据结构