洛谷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 ...
随机推荐
- why’s kafka so fast
As we all know that Kafka is very fast, much faster than most of its competitors. So what’s the reas ...
- redux的本质是一套行为解释系统
redux的本质是一套行为解释系统. 首先构建解释系统: 然后使用解释系统对行为进行解释,进而完成对store和状态的维护.
- Java Base64Utils ----Utils
Java Base64Utils 目录 Java Base64Utils 7 /** * <html> * <body> * <P> Copyrig ...
- 如何提高sql查询性能到达优化程序的目的
1.关于SQL查询效率,100w数据 SQL查询效率 step by step -- setp 1.-- 建表create table t_userinfo(userid int identity(1 ...
- MVC+Ninject+三层架构+代码生成 -- 总结(六、邏輯層)
1.邏輯層的方法應該與數據層的方法一一對應.邏輯層返回的結果都是用接口IResult封裝,用於項目轉換時,能減少變化的代碼量. 2.邏輯層都需要繼承 BaseLogic 類 public class ...
- 基于.net core 3 和 Orleans 3 的 开发框架:Phenix Framework 7
Phenix Framework 7 for .net core 3 + Orleans 3 发布地址:https://github.com/phenixiii/Phenix.NET7 2019052 ...
- windows 2012 IIS 部署 .net core HTTP Error 502.5 - Process Failure 错误解决办法
安装系统补丁: 2012 R2对应>Windows8.1-KB2999226-x64.msu 下载地址: https://www.microsoft.com/zh-CN/download/det ...
- Java 之 Properties 集合
一.Properties 概述 Properties 是Hashtable的子类,不允许key和value是null,并且它的key和value的类型都是String. 二.常用方法 1.构造方法 P ...
- Android开发之EditText多行文本输入
<EditText android:id="@+id/add_content" android:layout_width="fill_parent" an ...
- 01java中常用的一些算法工具——map转xml和xml转map
借鉴博客:https://blog.csdn.net/Goodbye_Youth/article/details/80937862 他这篇写的不错,多层嵌套的map也能转成xml 这篇也不错:http ...