抱歉,您们的蒟蒻yxj不知道怎么插入链接qwq就只好粘个文本的了qwq:https://www.luogu.org/problemnew/show/P1458

没错,是个黄题,因为你们的小蒟蒻只会这样难度的题qwq

ok,来吧

这道题,读完题目之后,应该题意是比较容易理解的;

题意就是给出一个数,

让您求分母在这个数的范围内并且整个分数要小于等于一的所有的分数,并且还要注意输出的时候是要有顺序的。

那么我们就可以直接枚举,判断并记录。

首先我们输入之后直接来枚举两层for循环找出所有能找出来的分数

for(int i = ; i <= n; i++)
for(int j = ; j <= n; j++)
if(i <= j) {//亲爱的们,这里是一个判断条件,只要分子比分母大我们才可以选他做分数
int rom = gcd(i, j);
if(rom == ) {//其实这两个if完全可以合并到一起也就是只留第二个
head++;
num[head].x = i;
num[head].y = j;
num[head].mal = i * 1.0 / j * 1.0;
}
else if(rom != ) {
head++;
num[head].x = i / rom;
num[head].y = j / rom;
num[head].mal = (i / rom * 1.0) / (j / rom * 1.0);
}
}

gcd 函数判断最大公约数

int gcd(int x,int y) {
return y == ? x : gcd(y, x % y);
}

按照分数的大小来排序

int cmp(zero x,zero y) {
return x.mal < y.mal;
}

最后干干净净的AC代码(个人喜好)

#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
int n, head;
struct zero{
int x, y;
double mal;
}num[];
int gcd(int x,int y) {
return y == ? x : gcd(y, x % y);
}
int cmp(zero x,zero y) {
return x.mal < y.mal;
}
int main() {
scanf("%d",&n);
for(int i = ; i <= n; i++)
for(int j = ; j <= n; j++)
if(i <= j) {
int rom = gcd(i, j);
if(rom == ) {
head++;
num[head].x = i;
num[head].y = j;
num[head].mal = i * 1.0 / j * 1.0;
}
else if(rom != ) {
head++;
num[head].x = i / rom;
num[head].y = j / rom;
num[head].mal = (i / rom * 1.0) / (j / rom * 1.0);
}
}
sort(num + , num + + head, cmp);
for(int i = ; i <= head; i++)
if(num[i].mal != num[i + ].mal)
printf("%d/%d\n",num[i].x, num[i].y);
return ;
}

感谢收看~~~

洛谷p1458顺序的分数题解的更多相关文章

  1. 洛谷P1458 顺序的分数 Ordered Fractions

    P1458 顺序的分数 Ordered Fractions 151通过 203提交 题目提供者该用户不存在 标签USACO 难度普及- 提交  讨论  题解 最新讨论 暂时没有讨论 题目描述 输入一个 ...

  2. 洛谷——P1458 顺序的分数 Ordered Fractions

    P1458 顺序的分数 Ordered Fractions 题目描述 输入一个自然数N,对于一个最简分数a/b(分子和分母互质的分数),满足1<=b<=N,0<=a/b<=1, ...

  3. 洛谷 P1458 顺序的分数 Ordered Fractions

    P1458 顺序的分数 Ordered Fractions 题目描述 输入一个自然数N,对于一个最简分数a/b(分子和分母互质的分数),满足1<=b<=N,0<=a/b<=1, ...

  4. 洛谷P1783 海滩防御 分析+题解代码

    洛谷P1783 海滩防御 分析+题解代码 题目描述: WLP同学最近迷上了一款网络联机对战游戏(终于知道为毛JOHNKRAM每天刷洛谷效率那么低了),但是他却为了这个游戏很苦恼,因为他在海边的造船厂和 ...

  5. 洛谷P4047 [JSOI2010]部落划分题解

    洛谷P4047 [JSOI2010]部落划分题解 题目描述 聪聪研究发现,荒岛野人总是过着群居的生活,但是,并不是整个荒岛上的所有野人都属于同一个部落,野人们总是拉帮结派形成属于自己的部落,不同的部落 ...

  6. 洛谷P1155 双栈排序题解(图论模型转换+二分图染色+栈)

    洛谷P1155 双栈排序题解(图论模型转换+二分图染色+栈) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1311990 原题地址:洛谷P1155 双栈排序 ...

  7. 洛谷10月月赛II题解

    [咻咻咻] (https://www.luogu.org/contestnew/show/11616) 令人窒息的洛谷月赛,即将参加NOIp的我竟然只会一道题(也可以说一道也不会),最终145的我只能 ...

  8. [洛谷P1823]音乐会的等待 题解(单调栈)

    [洛谷P1823]音乐会的等待 Description N个人正在排队进入一个音乐会.人们等得很无聊,于是他们开始转来转去,想在队伍里寻找自己的熟人.队列中任意两个人A和B,如果他们是相邻或他们之间没 ...

  9. BZOJ2527 & 洛谷3527:[Poi2011]Meteors——题解

    +++++++++++++++++++++++++++++++++++++++++++ +本文作者:luyouqi233. + +欢迎访问我的博客:http://www.cnblogs.com/luy ...

随机推荐

  1. 使用 go modules 包管理工具(一)

    概述 我想实现一个开箱即用的 API 框架的轮子,这个轮子是基于 Gin 基础上开发的. 为什么是开箱即用,它会集成哪些功能? 以上功能点,都是常用的,后期可能还会增加. 废话不多说,咱们开始吧. 创 ...

  2. 【BZOJ4942】[NOI2017]整数(分块)

    [BZOJ4942][NOI2017]整数(分块) 题面 BZOJ 洛谷 题解 暴力就是真正的暴力,直接手动模拟进位就好了. 此时复杂度是模拟的复杂度加上单次询问的\(O(1)\). 所以我们需要优化 ...

  3. dedecms5.7执行PHP代码的用法

    dedecms5.7执行PHP代码的用法 {dede:php} echo 'test'; {/dede:php}

  4. Markdown温故知新(4):更多扩展语法及HTML

    1.强调(删除 & 高亮) 2.脚注(注脚) 3.数学公式 4.更多扩展语法 5.终极扩展之内嵌 HTML 5.1.文本修饰类标签 5.2.内容排版类标签 5.3.图片及多媒体标签 5.4.锚 ...

  5. Union-Find 并查集算法

    一.动态连通性(Dynamic Connectivity) Union-Find 算法(中文称并查集算法)是解决动态连通性(Dynamic Conectivity)问题的一种算法.动态连通性是计算机图 ...

  6. P2995 [USACO10NOV]牛的照片(树状数组,逆序对)

    题目: P2995 [USACO10NOV]牛的照片Cow Photographs P4545 [USACO10NOV]奶牛的图片Cow Photographs SP7809 COWPIC - Cow ...

  7. Redis之缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级

    目录 Redis之缓存雪崩.缓存穿透.缓存预热.缓存更新.缓存降级 1.缓存雪崩 2.缓存穿透 3.缓存预热 4.缓存更新 5.缓存降级 Redis之缓存雪崩.缓存穿透.缓存预热.缓存更新.缓存降级 ...

  8. 简述Linux开机启动流程

    计算机开机是一个神秘的过程.我们只是按了开机键,就看到屏幕上的进度条或者一行行的输出,直到我们到达登录界面.然而,计算机开机又是个异常脆弱的过程,我们满心期望的登录界面可能并不会出现,而是一个命令行或 ...

  9. 进程、线程、轻量级进程、协程与 go 的 goroutine

    本文内容 进程 线程 协程 Go 中的 goroutine 参考资料 最近,看一些文章,提到“协程”的概念,心想,进程,线程,协程,前两个很容易,任何一本关于操作系统的书都有说,开发时也经常用,但是协 ...

  10. 【开发笔记】- Idea启动Gradle报错:Warning:Unable to make the module: reading, related gradle configuration was not found. Please, re-import the Gradle project and try again

    报错信息: Warning:Unable to make the module: reading, related gradle configuration was not found. Please ...