原题传送:http://acm.hnu.cn/online/?action=problem&type=show&id=11722&courseid=0

  给出z,求符合方程x2 + y2 = z2的个数并输出。

  这个问题在二潘的《初等数论》中有很详细的阐述。简单来说就是:

  如果 z = i2 + j2

  那么

    x = i2 - j2

    y = 2 * i * j

View Code

 1 #include <stdio.h>
 2 #include <string.h>
 3 #include <algorithm>
 4 #include <math.h>
 5 #include <stdlib.h>
 6 #include <vector>
 7 using namespace std;
 8 typedef pair<int, int> pii;
 9
10 int gcd(int a, int b)
11 {
12     return b == 0 ? a : gcd(b, a % b);
13 }
14
15 int main()
16 {
17     int c, cas = 1, i, j, x, y;
18     vector<pii> v;
19     while(scanf("%d", &c), c)
20     {
21         printf("Case %d:\n", cas ++);
22         if(c % 4 != 1)
23         {
24             printf("There are 0 solution(s).\n\n");
25             continue;
26         }
27         v.clear();
28         int len = (int)sqrt(c + 0.5);
29         for(i = 1; i <= len; i ++)
30         {
31             j = (int)sqrt(c - i * i + 0.5);
32             x = j * j - i * i, y = 2 * i * j;
33             if(i < j && i * i + j * j == c && gcd(x, y) == 1 && gcd(c, x) == 1 && gcd(c, y) == 1)
34             {
35                 v.push_back(make_pair(min(j * j - i * i, 2 * i * j), max(j * j - i * i, 2 * i * j)));
36             }
37         }
38         sort(v.begin(), v.end());
39         len = v.size();
40         printf("There are %d solution(s).\n", len);
41         for(int i = 0; i < len; i ++)
42         {
43             printf("%d^2 + %d^2 = %d^2\n", v[i].first, v[i].second, c);
44         }
45         putchar('\n');
46     }
47     return 0;
48 }

  

转载于:https://www.cnblogs.com/huangfeihome/archive/2012/10/06/2713058.html

HNU11722 The Gougu Theorem相关推荐

  1. Latex公式编号问题

    目录 对某个公式编号/不编号 对某些公式整体编号 较长公式拆行与编号 在写文章时,我们会遇到各种各样的对公式编号的要求,例如对某些公式标号而对另外一些公式不编号.对某些公式整体编号.对一个拆为几行的较 ...

  2. ADPRL - 近似动态规划和强化学习 - Note 5 - Banach Fixed Point Theorem in Dynamic Programming

    动态规划中的巴拿赫不动点定理 5. Banach Fixed Point Theorem in Dynamic Programming 5.1 巴拿赫不动点定理定理 (Banach fixed poi ...

  3. Rouche Theorem(Stein复分析)

    Rouche Theorem: \quadIffandgareholomorphicfunctionsinaregionΩcontainingacircleCanditsinterior,and∣f( ...

  4. 简要介绍一下贝叶斯定理( Bayes‘ theorem)

    简要介绍一下贝叶斯定理( Bayes' theorem) 在引出贝叶斯定理之前,先学习几个定义: 条件概率(又称后验概率)就是事件A在另外一个事件B已经发生条件下的发生概率.条件概率表示为P(A|B) ...

  5. Magnetism and Earnshaw‘s Theorem

    Magnetism and Earnshaw's Theorem Speaking well about Homer is not a thing you have mastered, it's a ...

  6. 中国剩余定理(Chinese Remainder Theorem)

    中国剩余定理 民间传说着一则故事--"韩信点兵". 秦朝末年,楚汉相争.一次,韩信将1500名将士与楚王大将李锋交战.苦战一场,楚军不敌,败退回营,汉军也死伤四五百人,于是韩信整顿 ...

  7. 【计算理论】不可判定性 ( 停机问题 | 图灵机语言是否空集问题 | 图灵机是否等价问题 | 是否存在自动机接受图灵机语言问题 | 莱斯定理 Rice‘s Theorem )

    文章目录 一.不可判定性 ( Undecidability ) 二."停机问题" 不可判定 三."图灵机语言是否空集问题" 不可判定 四."图灵机是否 ...

  8. hall's marriage theorem

    HALL定理 Hall 結婚定理(Hall's Marriage Theorem)與其應用─此定理由英國數學家Philip Hall 提出.令 V 與W 為兩個分開的族群,但 V 至W 之間有連線,令 ...

  9. UA MATH563 概率论的数学基础 中心极限定理7 Kolmogorov extension theorem及其扩展

    UA MATH563 概率论的数学基础 中心极限定理7 Kolmogorov extension theorem及其扩展 上一讲为了构造包含无限个独立随机变量的序列,我们使用了Kolmogorov e ...

  10. 现代密码学2.4--香农定理/Shannon Theorem:完美安全的充分必要条件

    现代密码学2.4--香农定理/Shannon Theorem:完美安全的充分必要条件 香农定理/Shannon Theorem 博主正在学习INTRODUCTION TO MODERN CRYPTOG ...

最新文章

  1. 报Java面授班有哪些优势
  2. 使用具体的例子来讲解如何使用Esper
  3. 应用系统中交互式报表功能解析
  4. 单例模式实现方式详解
  5. svn之Previous operation has not finished; run ‘cleanup‘ if it was interrupted解决办法
  6. LaTeX中添加\usepackage{subfigure}一直报错的解决办法,亲测
  7. 自定义右键菜单,禁用浏览器自带的右键菜单[右键菜单实现--Demo]
  8. 农行支付php,ECSHOP教程:农行支付接口开发(含手机端)
  9. 眼底图像血管增强与分割--(3)基于PCA的增强算法原理及实现
  10. 挑战杯创业计划书_基于云计算的下料优化软件_1. 执行总结
  11. 必看!100道Java程序员面试题(含答案)!
  12. 爬虫——获取页面源代码
  13. ubuntu怎么连网线上网_安装完ubuntu 16.04连接网线无法上网解决
  14. 关于千牛移动端纯H5插件和QAP应用中H5页面的概念
  15. mysql使用 union all查询统计总数量
  16. 【破解作品】Access密码查看器 破解版 注册码
  17. 十种燃烧卡路里减肥运动方法
  18. 帮助文档的使用和制作
  19. 高新兴ME3616C1A模组连接阿里云平台
  20. 国货美妆需要“诗和远方”

热门文章

  1. Winmail反垃圾邮件指南:使用Winmail时,比较有效的过滤垃圾邮件的设置
  2. 计算机msvcp100.dll,msvcp100.dll丢失怎样修复
  3. 让zheng支持activiti工作流
  4. 2022年最新广东道路运输安全员真题题库及答案
  5. python爬取豆瓣图书top250_python3 爬虫学习:爬取豆瓣读书Top250(四)
  6. python推荐书豆瓣_基于Python的豆瓣图书评论数据获取与可视化分析
  7. angular引入ng-zorro中的icon图标方法
  8. WebStorm中TODO的作用
  9. 2022.4.24腾讯笔试记录
  10. 易到暂停办理线下提现 称贾跃亭隐瞒巨额债务成影响提现关键因素