好歹我是数学专业的学生,还是要写写训练的时候遇到的数学问题滴~~

  在ACM集训的时候在各高校OJ上也遇见过挺多的数学问题,例如大数的处理,素数的各种算法,几何问题,函数问题(单调,周期等性质),甚至是各种数学定理或公式的变形。其实算法本身也属于数学研究的范畴(计算机本就是数学的衍生嘛),诸如众多排序算法,搜索算法也是许多精巧的数学逻辑思维,所以大家学计算机千万别忽视数学这门基础学科啊。


  貌似说了好多废话= =||,待小编进入正题,今天在湖大OJ训练赛上看到一道数学题,话不多说,直接上图!

____________________________看不懂英语滴孩纸们好好加油啊= =,小编这种英语渣渣看这种题都没查单词(⊙o⊙)||

  题目大意就是:

     计算三维坐标(x,y,z)满足xj+yj == zj公式的数量,其中x,y,z都是自然数(x<=y<=z<=m),j取所有2~n范围内的整数。

  分析:  我刚开始乍眼一看还以为涉及到大数乘法的相关算法,因为n可以取到100,m也可以取到100,这样想的话最大的数就有201位了= =。然后开始写代码了(好可恶的心理啊!!我居然这时候就急着写了!!),写到一半的时候就觉得很奇怪,好复杂啊~~要转成大数形式,又要乘法,还要判定相等,然后计数,估计得超时啊= =,而且如果涉及大数乘法为什么交代码的人AC百分比这么高~~。

  然后再想想,这尼玛不就是很久前的著名猜想嘛,现在想想初高中涉及勾股定理的时候有做过an+bn == cn在n=2的时候就不存在正整数可以满足这个关系了。

  其实这一题就是著名的费马大定理的变形(不知道的孩纸们自行百度),出题人真是照顾数学系的苦逼孩儿们啊= =


  让我先给大伙儿普及数学世上的世界三大数学猜想Oo(∩_∩)oO:

  • 费马猜想(费马猜想的证明于1994年由英国数学家-安德鲁·怀尔斯(Andrew Wiles)完成,称为费马大定理
  • 四色猜想(四色猜想的证明于1976年由美国数学家-阿佩尔(Kenneth Appel)与哈肯(Wolfgang Haken)借助计算机完成,称为四色定理
  • 哥德巴赫猜想(哥德巴赫猜想尚未解决,目前最好的成果(陈氏定理)乃于1966年由中国数学家陈景润取得。)

 


  所以,我们最后能想到用枚举法枚举这几种情况可以满足上面的等式

  • 枚举j==2时,所有满足这一等式的关系的情况,满足则sum++;
  • 枚举x=0时,y和z相等的情况,满足则sum++;

  所以我的代码如下:

 1 //费马大定理
 2 //Time:0 Ms
 3 #include<stdio.h>
 4
 5 int main()
 6 {
 7     int m, n;
 8     int x, y, z;
 9     scanf("%d%d", &m, &n);
10
11     int sum = 0;
12     for (x = 0; x <= m; x++)    //第一枚举-j==2情况
13     {
14         for (y = x; y <= m; y++)
15             for (z = y; z <= m; z++)
16                 if (x*x + y*y == z*z)
17                     sum++;
18     }
19
20     sum += (n - 2)*(m + 1);    //这一关系就是第二个枚举推导的
21     printf("%d\n", sum);
22
23     return 0;
24 }


  那么先这样了= =,下次再遇到再写下来分享吧

——————From 小墨

转载于:https://www.cnblogs.com/Inkblots/p/4713808.html

ACM/ICPC 之 数论-费马大定理(HNUOJ 13371)相关推荐

  1. 2019 ACM - ICPC 西安邀请赛 B. Product (杜教筛) 简单数论(bushi)

    G.(2019 ACM/ICPC 全国邀请赛(西安)B) Product Weblink https://nanti.jisuanke.com/t/39269 Problem && S ...

  2. 2016 ACM / ICPC Asia dalian Regional Contest 题解(11 / 11)【每日亿题2021 / 2 / 17】

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A .(2017 ACM ICPC dalian H)To begin or not to be ...

  3. 2019年安徽大学ACM/ICPC实验室新生赛题解

    本文仅作个人收藏学习使用 题目及解析来源牛客竞赛网 //作者:王清楚 //链接:https://ac.nowcoder.com/discuss/351408?type=101&order=0& ...

  4. ACM/ICPC竞赛

    备战ACM资料 一:知识点 数据结构: 1,单,双链表及循环链表 2,树的表示与存储,二叉树(概念,遍历)二叉树的 应用(二叉排序树,判定树,博弈树,解答树等) 3,文件操作(从文本文件中读入数据并输 ...

  5. 【转】lonekight@xmu·ACM/ICPC 回忆录

    转自:http://hi.baidu.com/ordeder/item/2a342a7fe7cb9e336dc37c89 2009年09月06日 星期日 21:55 初识ACM 最早听说ACM/ICP ...

  6. ACM/ICPC整体介绍

    一.ACM/ICPC简介 ACM国际大学生程序设计竞赛(ACM/ICPC :ACM International Collegiate Programming Contest)是由国际计算机界历史悠久. ...

  7. 厦门大学lonekight ACM/ICPC 回忆录

    初识ACM 最早听说ACM/ICPC这项赛事是在大三上的算法课上张老师提到的,当时我们学校的组织参加这项活动才刚刚起步,我也没太在意,总觉得那是非常遥远的事,事实上当时我也从未相当如今我们能获得现在的 ...

  8. 2019 ACM - ICPC 上海网络赛 E. Counting Sequences II (指数型生成函数)

    繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...

  9. 解题报告(一)F、(2018 ACM - ICPC shenyang I)Distance Between Sweethearts(数学期望 + 乘法原理 + FWT)(4.5)

    繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...

最新文章

  1. 训练集(train set) 验证集(validation set) 测试集(test set)
  2. P1091 合唱队形[单调性+DP]
  3. 开发者福利:史上最全Android 开发和安全系列工具
  4. 牛客 - 捡金币(思维+二维前缀和+构造)
  5. c#分页_使用Kotlin搭配Springboot开发RESTFul接口(二)自定义配置、跨域、分页
  6. AES 加密256位 错误 java.security.InvalidKeyException: Illegal key size or default parameters
  7. LeetCode MySQL 1633. 各赛事的用户注册率
  8. 7 种 JVM 垃圾收集器,Java语言实现核心,看完我跪了
  9. Applese 涂颜色(python解法)
  10. symbol lookup error: /home/quantum6/build_libs/lib/libreadline.so.7: undefined symbol: UP
  11. matlab2016安装报错(附资源)
  12. 830计算机软件综合大纲,2019年中国地质大学830计算机软件综合考试大纲.pdf
  13. 零售行业新渠道,效率居然这么高?
  14. R语言使用rnorm函数生成正太分布数据、使用boxplot函数可视化箱图、中间黑线为中位数位置、上下框线为上下四分位数位置、上下触须为1.5倍四分位数间距、如果有孤立点表示异常值
  15. 【GA MTSP】基于matlab GUI遗传算法求解多旅行商问题(多起点不同终点)【含Matlab源码 935期】
  16. 微信小程序开发(六)——服务器
  17. 利用分支限界法解决01背包和货郎担问题
  18. sm总线控制器找不到驱动程序_【KHGEARS钧兴谐波 | 新品】埃斯顿发布总线伺服驱动系统 ProNet Summa...
  19. 土豪小米天价域名背后 互联网商业模式重组
  20. Mysql第四天笔记01——常用函数

热门文章

  1. Java中的可变参数使用语法及用途
  2. 常见面试算题题中的滑动窗口问题
  3. 力扣之917. 仅仅反转字母
  4. 2019美国数学建模B题翻译:Problem B: Send in the Drones: Developing an Aerial Disaster Relief Response System
  5. 多功能格式转换器的使用方法
  6. python 实现邮件批量发送(你懂得)
  7. linux下repo是什么文件夹,yum的repo文件详解、以及epel简介、yum源的更换
  8. 痞子衡嵌入式:语音处理工具Jays-PySPEECH诞生记(3)- 音频显示实现(Matplotlib, NumPy1.15.0)...
  9. 美团点评2020校招测试方向笔试题
  10. GC(垃圾回收)保守式GC