洛谷p1458顺序的分数题解
抱歉,您们的蒟蒻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顺序的分数题解的更多相关文章
- 洛谷P1458 顺序的分数 Ordered Fractions
P1458 顺序的分数 Ordered Fractions 151通过 203提交 题目提供者该用户不存在 标签USACO 难度普及- 提交 讨论 题解 最新讨论 暂时没有讨论 题目描述 输入一个 ...
- 洛谷——P1458 顺序的分数 Ordered Fractions
P1458 顺序的分数 Ordered Fractions 题目描述 输入一个自然数N,对于一个最简分数a/b(分子和分母互质的分数),满足1<=b<=N,0<=a/b<=1, ...
- 洛谷 P1458 顺序的分数 Ordered Fractions
P1458 顺序的分数 Ordered Fractions 题目描述 输入一个自然数N,对于一个最简分数a/b(分子和分母互质的分数),满足1<=b<=N,0<=a/b<=1, ...
- 洛谷P1783 海滩防御 分析+题解代码
洛谷P1783 海滩防御 分析+题解代码 题目描述: WLP同学最近迷上了一款网络联机对战游戏(终于知道为毛JOHNKRAM每天刷洛谷效率那么低了),但是他却为了这个游戏很苦恼,因为他在海边的造船厂和 ...
- 洛谷P4047 [JSOI2010]部落划分题解
洛谷P4047 [JSOI2010]部落划分题解 题目描述 聪聪研究发现,荒岛野人总是过着群居的生活,但是,并不是整个荒岛上的所有野人都属于同一个部落,野人们总是拉帮结派形成属于自己的部落,不同的部落 ...
- 洛谷P1155 双栈排序题解(图论模型转换+二分图染色+栈)
洛谷P1155 双栈排序题解(图论模型转换+二分图染色+栈) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1311990 原题地址:洛谷P1155 双栈排序 ...
- 洛谷10月月赛II题解
[咻咻咻] (https://www.luogu.org/contestnew/show/11616) 令人窒息的洛谷月赛,即将参加NOIp的我竟然只会一道题(也可以说一道也不会),最终145的我只能 ...
- [洛谷P1823]音乐会的等待 题解(单调栈)
[洛谷P1823]音乐会的等待 Description N个人正在排队进入一个音乐会.人们等得很无聊,于是他们开始转来转去,想在队伍里寻找自己的熟人.队列中任意两个人A和B,如果他们是相邻或他们之间没 ...
- BZOJ2527 & 洛谷3527:[Poi2011]Meteors——题解
+++++++++++++++++++++++++++++++++++++++++++ +本文作者:luyouqi233. + +欢迎访问我的博客:http://www.cnblogs.com/luy ...
随机推荐
- Hbase put写入源码分析
今天有空闲时间看一下HBASE的写入代码 MutiAction类,是一个action的container,包括get . put. delete.并且是根据region name分组的.其中核心的就是 ...
- kali 安装 360国产浏览器
1. 下载360安全浏览器国产版本的 amd64 deb的包 https://browser.360.cn/se/linux/index.html 下载到的文件为: browser360-cn-sta ...
- 解决SpringBoot无法读取js/css静态资源的新方法
前言 作为依赖使用的SpringBoot工程很容易出现自身静态资源被主工程忽略的情况.但是作为依赖而存在的Controller方法却不会失效,我们知道,Spring MVC对于静态资源的处理也不外乎是 ...
- request.setAttribute()的用法
分类专栏: Java request在当次的请求的url之间有效一次传参数,速度快,缺点是参数只能取一次 forward是转向,将现在的请求转交,他只能在同一个容器里使用同时保存客户的请求状态. ...
- js 固定div 不随着滚动条滚动
css .fixed { position: fixed; top:; } javascript function my$(id) { return document.getElementById(i ...
- C#操作XML文档
Note: '=> ' 表示返回值 参考资料:请点击这里! 1:创建Xml文档 2:写Xml文档(必须保证有根元素) XmlDocument Xd (实例化一个对象) CreateXmlDecl ...
- spring data jpa使用详解
https://blog.csdn.net/liuchuanhong1/article/details/52042477 使用Spring data JPA开发已经有一段时间了,这期间学习了一些东西, ...
- Vue组件间通信6种方式
摘要: 总有一款合适的通信方式. 作者:浪里行舟 Fundebug经授权转载,版权归原作者所有. 前言 组件是 vue.js 最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的 ...
- 尚硅谷MySQL高级学习笔记
目录 数据库MySQL学习笔记高级篇 写在前面 1. mysql的架构介绍 mysql简介 mysqlLinux版的安装 mysql配置文件 mysql逻辑架构介绍 mysql存储引擎 2. 索引优化 ...
- 6.redis 的持久化有哪几种方式?不同的持久化机制都有什么优缺点?持久化机制具体底层是如何实现的?
作者:中华石杉 面试题 redis 的持久化有哪几种方式?不同的持久化机制都有什么优缺点?持久化机制具体底层是如何实现的? 面试官心理分析 redis 如果仅仅只是将数据缓存在内存里面,如果 redi ...