【题目链接】

OpenJudge NOI 2.1 3526:最简真分数

【题目考点】

1. 枚举

2. 最大公约数

3. 分数概念

【解题思路】

最简真分数的概念为:分子小于分母,且分子和分母互质的分数
两个数互质,等价于两个数的最大公约数为1。
求最大公约数的方法见:
信息学奥赛一本通 1207:求最大公约数问题 | OpenJudge 2.2 7592:求最大公约数问题

枚举三要素:

  • 枚举对象:两个数
  • 枚举范围:序列范围内的数字
  • 判断条件:两个数互质。
    由于序列中的数字两两不同,只要这两个数互质,那么就可以构成一个最简真分数。

序列中数字数量最大为600。对于数字个数为n的序列,所有可能的数对个数为1+2+...+(n−1)=n(n−1)/2=1797001+2+...+(n-1) = n(n-1)/2 = 1797001+2+...+(n−1)=n(n−1)/2=179700,可以枚举。

【题解代码】

解法1:枚举 递归求最大公约数

#include<bits/stdc++.h>
using namespace std;
int gcd(int a, int b)
{if(b == 0)return a;return gcd(b, a%b);
}
int main()
{int n, a[605], ct = 0;cin >> n;for(int i = 1; i <= n; ++i)cin >> a[i];for(int i = 1; i <= n-1; ++i)for(int j = i+1; j <= n; ++j){if(gcd(a[i], a[j]) == 1)ct++;}cout << ct;return 0;
}

解法2:枚举 迭代求最大公约数

#include<bits/stdc++.h>
using namespace std;
int gcd(int a, int b)
{int t;while(b > 0){t = a%b;a = b;b = t;}return a;
}
int main()
{int n, a[605], ct = 0;cin >> n;for(int i = 1; i <= n; ++i)cin >> a[i];for(int i = 1; i <= n-1; ++i)for(int j = i+1; j <= n; ++j){if(gcd(a[i], a[j]) == 1)ct++;}cout << ct;return 0;
}

OpenJudge NOI 2.1 3526:最简真分数相关推荐

  1. 3526:最简真分数 ②

    描述 给出n个正整数,任取两个数分别作为分子和分母组成最简真分数,编程求共有几个这样的组合. 输入 第一行是一个正整数n(n<=600). 第二行是n个不同的整数,相邻两个整数之间用单个空格隔开 ...

  2. 3526:最简真分数 ①

    描述 给出n个正整数,任取两个数分别作为分子和分母组成最简真分数,编程求共有几个这样的组合. 输入 第一行是一个正整数n(n<=600). 第二行是n个不同的整数,相邻两个整数之间用单个空格隔开 ...

  3. 信息学奥赛一本通 1209:分数求和 | OpenJudge NOI 1.13 12:分数求和

    [题目链接] ybt 1209:分数求和 OpenJudge NOI 1.13 12:分数求和 [题目考点] 1. 求最大公约数 2. 求最小公倍数 [解题思路] 求最大公约数,可以用辗转相除法.具体 ...

  4. 题目1465:最简真分数

    题目描述: 给出n个正整数,任取两个数分别作为分子和分母组成最简真分数,编程求共有几个这样的组合. 输入: 输入有多组,每组包含n(n<=600)和n个不同的整数,整数大于1且小于等于1000. ...

  5. 牛客网——最简真分数

    题目描述 给出n个正整数,任取两个数分别作为分子和分母组成最简真分数,编程求共有几个这样的组合. 输入描述: 每组包含n(n<=600)和n个不同的整数,整数大于1且小于等于1000. 输出描述 ...

  6. 信息学奥赛一本通 1232:Crossing River | OpenJudge NOI 4.6 702:Crossing River

    [题目链接] ybt 1232:Crossing River OpenJudge NOI 4.6 702:Crossing River 一本通里的翻译不够完整,OpenJudge中的英文原题中有对数据 ...

  7. 信息学奥赛一本通 1229:电池的寿命 | OpenJudge NOI 4.6 2469:电池的寿命

    [题目链接] ybt 1229:电池的寿命 OpenJudge NOI 4.6 2469:电池的寿命 [题目考点] 1. 贪心 [解题思路] 1. 贪心选择性质的证明 电池分配主要有两步, 第一步:将 ...

  8. 信息学奥赛一本通 1227:Ride to Office | OpenJudge NOI 4.6 2404:Ride to Office

    [题目链接] ybt 1227:Ride to Office OpenJudge NOI 4.6 2404:Ride to Office 原题是英文题,虽说两题题意相同,但一本通网站没有对该问题进行直 ...

  9. 信息学奥赛一本通 1194:移动路线 | OpenJudge NOI 2.6 2718:移动路线

    [题目链接] ybt 1194:移动路线 OpenJudge NOI 2.6 2718:移动路线 [题目考点] 1. 坐标型动态规划 [解题思路] 解法1:递推 设状态数组dp,dp[i][j]表示从 ...

最新文章

  1. 实验三 Gmapping建图
  2. 第二章:2.2 LTI系统解的分析
  3. Disable anchor tag的javascript代码(兼容IE和Firefox)
  4. ssl2293-暗黑游戏【dp练习题】
  5. java实现兵乓球比赛_C语言实现乒乓球比赛
  6. Codeforces Round #503 (by SIS, Div. 2) C. Elections
  7. linux拆分文件会影响源文件吗,linux split拆分文件
  8. 气象报告是什么计算机领域,计算机辅助翻译系统在亚运气象服务方面地应用报告.pdf...
  9. VC 2015 x86的DLL绿色包(QT 5.6)
  10. PowerVR性能建议-黄金法则
  11. 大数据要学什么?该怎么学?
  12. html5怎么修改图片大小,HTML5 javascript修改canvas的大小
  13. python布尔系列_python-布尔运算
  14. 如何把计算机组成原理、操作系统、数据结构和计算机网络融会贯通,相互联系起来?
  15. UE学习笔记(一)UC++基础类
  16. 痛苦的时候,不妨默读“有容乃大”
  17. Hadoop海量级分布式存储
  18. matlab求心率变异性的程序,心率变异性及其相关算法实现_.ppt
  19. 怎样用计算机做一个电子地图,电子地图如何制作简介-20210525123653.docx-原创力文档...
  20. 年会抽奖项目免费分享即开即用

热门文章

  1. 说说Error 和 Exception 有什么区别?
  2. Addressing Function Approximation Error in Actor-Critic Methods
  3. ArcMap - 设置类似以假分数格式的label标注
  4. 控制台光标(一): 隐藏光标
  5. 斜率优化DP 与数形结合思想
  6. hihocoder java_hihoCOder新手(Java)求教,一直RE!!!
  7. 安誉生物宣布完成数亿元融资,公司背景和达安基因、安杰思均有关
  8. 推荐几本学习c++的靠谱书
  9. 解决java.sql.SQLException: Access denied for user ‘root‘@‘localhost‘ (using password: YES)
  10. 2021年高压电工复审考试及高压电工模拟考试题