最近准备蓝桥杯比赛,看了去年蓝桥杯A组初赛的试题,最后一题花费了很多时间才找到思路。本人也是刚学习算法,很多都不懂,只好班门弄斧,各位大牛见笑了。

直接上题:

X星球的某个大奖赛设了M级奖励。每个级别的奖金是一个正整数。
并且,相邻的两个级别间的比例是个固定值。
也就是说:所有级别的奖金数构成了一个等比数列。比如:
16,24,36,54
其等比值为:3/2

现在,我们随机调查了一些获奖者的奖金数。
请你据此推算可能的最大的等比值。

输入格式:
第一行为数字N,表示接下的一行包含N个正整数
第二行N个正整数Xi(Xi<1 000 000 000 000),用空格分开。每个整数表示调查到的某人的奖金数额

要求输出:
一个形如A/B的分数,要求A、B互质。表示可能的最大比例系数

测试数据保证了输入格式正确,并且最大比例是存在的。

例如,输入:
3
1250 200 32

程序应该输出:
25/4

再例如,输入:
4
3125 32 32 200

程序应该输出:
5/2

再例如,输入:
3
549755813888 524288 2

程序应该输出:
4/1

资源约定:
峰值内存消耗 < 256M
CPU消耗 < 3000ms

请严格按要求输出,不要画蛇添足地打印类似:“请您输入…” 的多余内容。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

注意: main函数需要返回0
注意: 只使用ANSI C/ANSI C++ 标准,不要调用依赖于编译环境或操作系统的特殊函数。
注意: 所有依赖的函数必须明确地在源文件中 #include , 不能通过工程设置而省略常用头文件。

我的思路其实很简单,先对输入数据排序,然后依次用后一个除以前一个得到比例,当然这个比例要用结构体表示(分子,分母),将所有比例保存下来,对比例排序,然后用后一个比例除以前一个比例,更新后一个比例为所求值,所有比例遍历完,对比例排序,按照相同的操作循环,直到前面所有比例为1:1,最后一个比例即为所求比例;说起来有点抽象,举个例子,假如所求比例为t,比例数组 1 ,t^2,t,t^6,t^3;排序之后 1,t^2,t^3,t^6,相邻比例相除:1,t^2,t,t^5;排序:1,t,t^2,t^5;比例相除:1,t,t,t^4;再相除:1,t,1,t^4....

最终会得到1,1,1,t;

代码如下:

#include<iostream>
#include<algorithm>
using namespace std;
long long gcd(long long a, long long b)
{return a%b ? gcd(b, a%b) : b;
}
struct bili
{int fenzi;int fenmu;bool operator<(bili&t)const{return fenzi*1.0 / fenmu < t.fenzi*1.0 / t.fenmu;}
}n[100];
int main()
{long long a[100];int count, i;cin >> count;for (int i = 0;i < count;i++)cin >> a[i];sort(a, a +count);for (i = count - 1;i > 0;i--){long long t = gcd(a[i], a[i - 1]);n[i - 1].fenzi = a[i] / t, n[i - 1].fenmu = a[i - 1] / t;}sort(n, n + count - 1);while (1) {for (i = 0;i < count - 2;i++){int t = gcd(n[i + 1].fenzi *n[i].fenmu, n[i + 1].fenmu*n[i].fenzi);n[i + 1].fenzi = n[i + 1].fenzi *n[i].fenmu / t;n[i + 1].fenmu = n[i + 1].fenmu *n[i].fenzi / t;}sort(n, n + count - 1);for (i = 0; n[i].fenzi == 1;i++);if (i == count - 2)break;}cout << n[count - 2].fenzi << '/' << n[count - 2].fenmu;
}

2016蓝桥杯A组第十题 最大比例相关推荐

  1. 2013第四届蓝桥杯Java组省赛题解析

    2013第四届蓝桥杯Java组省赛题解析 目录 第一题:高斯日记 第二题:马虎的算式 第三题:第39级台阶 第四题:黄金连分数 ​第五题:前缀判断 第六题:三部排序 ​第七题:错误票据 第八题:翻硬币 ...

  2. 2016蓝桥杯b组java试题及答案_2016年第七届蓝桥杯java B组省赛试题

    2016年第七届蓝桥杯java B组省赛试题 1-3.结果填空 4-5.代码填空 6-7.结果填空 8-10.程序设计 1.煤球数目  (结果填空) 有一堆煤球,堆成三角棱锥形.具体: 第一层放1个, ...

  3. 2016蓝桥杯C组C/C++决赛(公费旅游)总结

    作为一个普通二本院校的专科生,我已经在学校附近一家手游公司实习半年多了.先说下自己的情况吧,我们学校一直对ACM这一块儿不重视,毕竟愿意学算法的人少之又少,大部分学生更愿意毕业前培训一下到北上广造假工 ...

  4. 26行代码AC_试题 历届试题 日期问题 | 第八届蓝桥杯B组第七题

    问题描述   小明正在整理一批历史文献.这些历史文献中出现了很多日期.小明知道这些日期都在1960年1月1日至2059年12月31日.令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的, ...

  5. 2018年第九届蓝桥杯B组第四题:摔手机题解

    摔手机 摔手机 动态规划  在蓝桥杯的时候遇到一次 当时没有做对  看了题解也没明白  如今再次遇到这个类似的题目 于是拿出来补补吧 摔手机题目如下: 星球的居民脾气不太好,但好在他们生气的时候唯一的 ...

  6. 第十届蓝桥杯B组国赛题

    A-题目描述: 请找到两个正整数X和Y满足下列条件: 1.2019<X<Y 2.20192.X2.Y2构成等差数列 满足条件的X和Y可能有多种情况,请给出X+Y的值,并且令X+Y尽可能的小 ...

  7. 【蓝桥系列】——十三届蓝桥杯PythonB组第五题E题蜂巢(AC代码)

    大家好,我是普通小明,初入学习博客,一起加油! 首先,感谢 小蓝刷题 对我的鼓励,我也希望加入学习算法这个大家庭. 第一篇文章,有些不完美,还请多多指教. 目录 (好像我并不会用锚点T-T) 省赛心得 ...

  8. 2021蓝桥杯B组 第I题杨辉三角形

    第I题 杨辉三角形 题目大意: 解法一:(得20%) 思路: 当指考虑小范围的值时,我们可以直接根据杨辉三角形的规律:第i行第j列的值=第i-1行第j列的值+第i-1行第j-11列的值,来把前50个杨 ...

  9. 第七届蓝桥杯b组第八题-四平方和

    四平方和 四平方和定理,又称为拉格朗日定理: 每个正整数都可以表示为至多4个正整数的平方和. 如果把0包括进去,就正好可以表示为4个数的平方和. 比如: 5 = 0^2 + 0^2 + 1^2 + 2 ...

最新文章

  1. R语言ggplot2可视化交互作用图(Interaction Plot):可视化不同分组(分类变量1)在不同剂量下(分类变量2)的箱图(box plot)、均值计算并连接成线图(line plot)
  2. How to Build a User Experience Team
  3. bat set命令详解
  4. 转载:IBM红米连接wifi的方法
  5. Vue2.0通过二级路由实现页面切换
  6. scala怎么做幂运算_Scala幂(幂)函数示例
  7. java异步刷新集合,同步和异步集合的性能测试,异步集合性能测试,package cn.o
  8. java注解和反射学习
  9. bzoj2821 作诗(Poetize)分块+二分
  10. winhex的内存搜索法
  11. 转载十年 - 武汉公交杂记
  12. Internet结构和ISP
  13. 在线直播系统搭建的功能包含哪些?
  14. [麻将] 麻将的一些概率计算
  15. HTML+CSS+JS大作业:生态环境网站设计——环境保护主题-绿色环保 (9页) web期末作业设计网页_绿色环保大学生网页设计作业成品
  16. 记录一次上网正常但是【登录客户端应用网络异常问题】
  17. ORA-39325 ORA-39112
  18. 将iphone手机屏幕画面投到Mac上
  19. jit和jitx区别_JIT的核心思想是什么?
  20. 关于抱怨解读,读书笔记

热门文章

  1. IC公用电话私接居民家 网友称高手在民间(图)
  2. springboot启动报错Field *Service in *.*.controller.*Controller required a single bean, but 2 were found:
  3. 换主页轮播的主题图片(3、保存添加)---轻开电子商务系统(企业入门级B2C网站)
  4. 动作识别《X3D: Expanding Architectures for Efficient Video Recognition》
  5. 牛市来了?这几款开源项目让你的交易更加得心应手
  6. Python学习项目——类【流浪图书馆】案例
  7. ps正在初始化html表面然后进不去,tplink管理页面打不开(进不去)怎么办?
  8. vscode读linux源码,vscode搭建linux内核开发环境
  9. 【VB脚本备忘】【for PPT】规范表格格式(含OFFICE内置编辑器BUG描述)
  10. 华为p8标准版 android 7.0,安卓7.0+EMUI5.0:国行华为Nova手机首享牛轧糖