蓝桥杯每日一题:有序分数(递归)

news2024/12/23 23:08:22

给定一个整数 N,请你求出所有分母小于或等于 N,大小在 [0,1] 范围内的最简分数,并按从小到大顺序依次输出。

例如,当 N=5 时,所有满足条件的分数按顺序依次为:

0/1,1/5,1/4,1/3,2/5,12/,35,2/3,3/4,4/5,1/1

输入格式

共一行,包含一个整数 N。

输出格式

按照从小到大的顺序,输出所有满足条件的分数。

每个分数占一行,格式为 a/b,其中 a为分子, b 为分母。

数据范围

1≤N≤160

输入样例:
5
输出样例:
0/1
1/5
1/4
1/3
2/5
1/2
3/5
2/3
3/4
4/5
1/1

参考代码:

1.暴力求解参考代码:

/*
暴力枚举i,1-i中与i gcd=1的数
*/
#include<iostream>
#include<algorithm>

#define x first
#define y second

using namespace std;
const int N = 200;
typedef pair<int,int>PII;
PII q[N*N];
int n;

int gcd(int a,int b)
{
    return b ? gcd(b,a%b) : a;
}

bool cmp(PII a,PII b)
{
    return a.y*b.x > a.x*b.y;
}

int main()
{
    cin>>n;
    int cnt = 0;
    for(int i=0;i<=n;i++)
      for(int j=0;j<=i;j++)
       {
           if(gcd(i,j)==1) q[cnt++] = {j,i};
       }
    
    sort(q,q+cnt,cmp);
    
    for(int i=0;i<cnt;i++) printf("%d/%d\n",q[i].x,q[i].y);
    return 0;
}

 2.递归:

stern brocot tree原理:Stern–Brocot 树与 Farey 序列 - OI Wiki (oi-wiki.org)

#include<iostream>
#include<algorithm>

using namespace std;
int n;

void dfs(int a,int b,int c,int d)
{
    if(b+d>n) return;
    dfs(a,b,a+c,b+d);
    printf("%d/%d\n",a+c,b+d);
    dfs(a+c,b+d,c,d);
}

int main()
{
    cin>>n;
    puts("0/1");
    dfs(0,1,1,1);
    puts("1/1");
    return 0;
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1581087.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot通用模块--文件上传开发(阿里云OSS)

文件上传&#xff0c;是指将本地图片、视频、音频等文件上传到服务器上&#xff0c;可以供其他用户浏览或下载的过程。文件上传在项目中应用非常广泛&#xff0c;我们经常发抖音、发朋友圈都用到了文件上传功能。 实现文件上传服务&#xff0c;需要有存储的支持&#xff0c;那…

850. Dijkstra求最短路 II

850. Dijkstra求最短路 II 代码&#xff1a; #include<algorithm> #include<iostream> #include<cstring> #include<queue> #include<cmath>using namespace std; //用pair存储编号和距离 typedef pair<int,int> PII;int n,m; const int …

FL Studio21水果软件有哪些新功能?如何下载破解版

FL Studio 21是一款由Image-Line公司开发的专业的音乐制作软件&#xff0c;它提供了音乐编曲、录音、编辑、混音等多种功能&#xff0c;非常适合专业音乐制作人、DJ及音乐爱好者使用。这款软件不仅具有高级的音频编辑功能&#xff0c;如切片、时间伸缩、音高调整&#xff0c;还…

Python空间分析简明教程

数据世界是一个活生生的、会呼吸的事物。 当一个城市的犯罪率上升时&#xff0c;这是因为现实世界中有人在某个地方犯罪。 有警察局、住宅区和商业区、人口密度以及可以与位置相关联的人的地方。 所有这些东西都存在于数据框和表格之外的世界中。 空间分析使数据科学家能够回答…

java jdbc的使用及实践

文章目录 介绍背景发展目的和设计演进结论 JDBC的主要组件JDBC使用流程JDBC的事务管理JDBC驱动类型结论 insert和batch insert示例&#xff1a; update和batch update事务的重要性 delete和batch delete单条记录删除&#xff08;Delete&#xff09;批量删除多条记录&#xff08…

电脑打开游戏的时候提示缺少.dll文件?照着这个来就行。

前言 小白曾经也是一个很喜欢玩游戏的人&#xff0c;但那只是曾经。那时候宿舍里一共6个人&#xff0c;都是比较喜欢玩游戏的小伙子。 话题好像偏了…… 有些小伙伴下载玩游戏之后&#xff0c;高高兴兴地想要开始玩。结果游戏根本没办法运行&#xff0c;可恶&#xff01;这该…

Fecify 商品标签功能

关于商品标签 商品标签是指商家可以在展示商品时&#xff0c;自己创建一个自定义标签&#xff0c;可自定义某个关键词或短语。这样顾客在浏览商城时&#xff0c;只需要通过标签就能看到更直观的展示信息。 商品标签可以按照用户的属性、行为、偏好等进行分类&#xff0c;标签要…

基于Java+SpringBoot+Vue美容院业务管理系统(源码+文档+部署+讲解)

一.系统概述 悦己美容院后台管理系统的目的是让使用者可以更方便的将人、设备和场景更立体的连接在一起。能让用户以更科幻的方式使用产品&#xff0c;体验高科技时代带给人们的方便&#xff0c;同时也能让用户体会到与以往常规产品不同的体验风格。 与安卓&#xff0c;iOS相比…

数据结构DAY4--哈希表

哈希表 概念&#xff1a;相当于字典&#xff0c;可以根据数据的关键字来寻找相关数据的查找表。 步骤&#xff1a;建立->插入->遍历->查找->销毁 建立 建立数据&#xff0c;形式随意&#xff0c;但一般为结构体&#xff08;储存的数据量大&#xff09;&#xff…

apply call bind的使用区别

bind(this对象&#xff0c;arg1&#xff0c;arg2。。。) &#xff0c;第二个参数为参数列表 用于改变this指向&#xff1b;调用会返回一个新的改变了this指向的函数&#xff0c;并不会立即执行而是需要调用新的函数&#xff1b;可以进行部分传参&#xff1b;如果是箭头函数无法…

TCP-IP详解卷一:协议——阅读总结

该内容适合程序员查看 第1章 概述 1.1 引言 WAN全称是 Wide Area Network&#xff0c;中文名为广域网。 LAN全称是 Local Area Network&#xff0c;中文名为局域网。 1.2分层 ICP/IP协议族通常被认为是一个四层协议系统 分层协议应用层Telnet、FTP和e-mail运输层TCP和UDP网…

编程新手必看,学习python中字典数据类型内容(11)

介绍&#xff1a; Python3中的字典是一个非常重要的内置数据结构&#xff0c;它以键值对的形式存储数据&#xff0c;允许通过键来快速访问相应的值。 字典的特点和操作如下&#xff1a; 创建字典&#xff1a;可以通过一对大括号{}来创建一个空字典&#xff0c;或者在大括号内部…

计算机考研择校|408还是自命题,哪个上岸难度大?

我一般是建议选择408&#xff0c;但是现在考408的同学太多了 所以408的竞争压力会比较大&#xff0c;加上复习难度大&#xff0c;复习过程中&#xff0c;心态很容易崩掉。 其实到底选自命题还是408&#xff0c;我觉得还是要看自己的目标。如果目标院校是自命题&#xff0c;那…

linux自动下载rpm的依赖包的方法

背景 rpm安装包是存在依赖关系的。通常在离线安装的时候&#xff0c;没有下全依赖包&#xff0c;安装就会失败。 分析 1.首先我们要使用yumdownloader来下载指定的包。 yumdownloader --disablerepo* --enablerepobase,epel,extras --releasever7 --archx86_64 --downloadd…

人工智能——机器学习概述

1. 人工智能 1.1. 概念 人工智能(Artificial Intelligence&#xff0c;AI)&#xff0c;是新一轮科技革命和产业变革的重要驱动力量&#xff0c; [26]是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。 人工智能是智能学科重要的组…

搭建前后端的链接(java)

搭建前后端的链接(java) 一.前提 1.1 javaEE 搭建前后端的链接首先需要用到javaEE&#xff0c;也就是java企业版&#xff0c;也就是java后端(后端javaSE) 利用javaEE和前端交互&#xff0c;javaSE和数据库交互&#xff0c;javaSE和javaEE之间再进行交互就实现了前后端的交互…

open graph简述

场景 在我们使用twitter的时候&#xff0c;会发现有的链接会显示预览卡片&#xff0c;有的不会。 这是因为有的网站设置了open graph&#xff0c;有的没有。 那么什么是open graph&#xff1f; open graph是一个由facebook在2010年发布的协议&#xff0c;用于在社交网络上分享…

每日OJ题_两个数组dp⑤_力扣10. 正则表达式匹配

目录 力扣10. 正则表达式匹配 解析代码 力扣10. 正则表达式匹配 10. 正则表达式匹配 难度 困难 给你一个字符串 s 和一个字符规律 p&#xff0c;请你来实现一个支持 . 和 * 的正则表达式匹配。 . 匹配任意单个字符* 匹配零个或多个前面的那一个元素 所谓匹配&#xff0c…

A Learning-Based Approach for IP Geolocation

下载地址:Towards IP geolocation using delay and topology measurements | Proceedings of the 6th ACM SIGCOMM conference on Internet measurement 被引次数:185 Abstract 定位IP主机地理位置的能力对于在线广告和网络攻击诊断等应用程序是非常吸引力的。虽然先前的方…

如何基于开源大模型搭建自己的智能体?魔搭社区推出AI Agent开发框架

阿里云牵头建设的AI模型社区魔搭(ModelScope)又上新了&#xff0c;推出适配开源大语言模型的AI Agent开发框架ModelScope-Agent。借助ModelScope-Agent&#xff0c;所有开发者都可基于开源 LLM 搭建属于自己的智能体应用&#xff0c;最大限度释放想象力和创造力。ModelScope-Ag…