题目描述

X星球的某个大奖赛设了M级奖励。每个级别的奖金是一个正整数。

并且,相邻的两个级别间的比例是个固定值。

也就是说:所有级别的奖金数构成了一个等比数列。比如:16,24,36,54 其等比值为:3/2

现在,我们随机调查了一些获奖者的奖金数。

请你据此推算可能的最大的等比值。

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

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

输入样例

3
1250 200 32

输出

25/4

思路

  • 根据题目描述,随机调查的奖金是等比数列中的某项,那么这些奖金可能值是重复的,所以我们要对数据 先排序,后去重

  • 再来研究一下等比数列

    有这样一组等比数列:a1, a2, a3 ,a4 …… an-1 ,an

    假设我们挑出来的奖金是:a1 ,ax , ay ,ak (注:首项就可看作a1,该序列已经排序去重)

    我们要求奖金的最大比值,设为 q (等比且非递减,虽然题上没有说,但奖金怎么非递减呢)

    那么根据等比数列的性质,ax = a1 × qx,ay =a1× qy ,ak = a1× qk

    那么他们之间两两相邻的比值为 qx ,qy-x ,qk-x-y

  • qx ,qy-x ,qk-x-y 它们之间有一个性质:若 q 为分数,若q[ i ] > q[ j ] ,那么q[ i ] 的分子一定大于q[ j ] 的分子,q[ i ] 的分母也大于 q[ j ] 的分母;若 q 为整数,q[ i ]分子还是比q[ j ]大(因为奖金等比且非递减,虽然题上没有说,但奖金怎么递减呢 )

  • 所以对于求出的 qx ,qy-x ,qk-x-y 可以根据此性质从按照分子的大小从小到大排序

对于求出的序列 q 集合 ,假设幂次为 ki ,那我们就是要求出 k 的最大公约数。q 和 k 都是未知数 。我们设 q 中的两个数为 a,b 。对于a,b 我们要求出一组解。
Q(a , b) => Q (qx , qy) ==> qgcd(x,y) == 更相减损术 ==>q gcd(x,y-x) ==> Q(a,b/a) { b>a }

long long qgcd(long long a,long long  b){if(a==b)return a;else{return qgcd(min(b/a,a),max(b/a,a));}}
#include<stdio.h>
#include<vector>
#include<algorithm>
#include<queue>
struct node{long long x,y;// x为 分子 ,y 为分母
};
long long getGcd(long long a,long long b){return b==0?a:getGcd(b,a%b);
}bool comp(node a,node b) {return a.x<b.x;
}
using namespace std;
int main()
{int n;scanf("%d",&n);;long long arr[10010];for(int i=0;i<n;i++){scanf("%lld",&arr[i]);}//去重操作 sort(arr,arr+n);vector<long long>v;v.push_back(arr[0]); for(int i=1;i<n;i++){if(v[v.size()-1]!=arr[i])v.push_back(arr[i]);}vector<node>q;node temp;for(int i=1;i<v.size();i++){ //求出比例 long long gcd = getGcd(v[i],v[i-1]);temp.x=v[i]/gcd;temp.y=v[i-1]/gcd;q.push_back(temp);}sort(q.begin(),q.end(),comp);long long minx=q[0].x;//q是分数 分子分母决定大小  q为整数 分子同样也能决定大小 ,分母为 1  long long x=q[0].x,y=q[0].y;for(int i=1;i<q.size();i++){if(minx>q[i].x/q[i-1].x&&q[i].x/q[i-1].x!=1){ //如果分子相同 那么分母也相同 否则不等比 x=q[i].x/q[i-1].x;y=q[i].y/q[i-1].y;}}printf("%lld/%lld",x,y);return 0;
}

【蓝桥杯】 最大比例相关推荐

  1. 蓝桥杯最大比例java实现

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

  2. 蓝桥杯-最大比例-python

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

  3. 蓝桥杯2016c++A组真题代码第十题最大比例

    蓝桥杯2016c++A组真题&代码第十题最大比例 /* 最大比例X星球的某个大奖赛设了M级奖励.每个级别的奖金是一个正整数. 并且,相邻的两个级别间的比例是个固定值. 也就是说:所有级别的奖金 ...

  4. 2016蓝桥杯A组第十题 最大比例

    最近准备蓝桥杯比赛,看了去年蓝桥杯A组初赛的试题,最后一题花费了很多时间才找到思路.本人也是刚学习算法,很多都不懂,只好班门弄斧,各位大牛见笑了. 直接上题: X星球的某个大奖赛设了M级奖励.每个级别 ...

  5. 蓝桥杯练习系统习题-算法训练6

    文章推荐 精选java等全套学习资源 精选java电子图书资源 精选大数据学习资源 java项目练习精选 蓝桥杯练习系统习题-算法训练6 题目搜索方式:Ctrl+F--> 输入题目名称-> ...

  6. 蓝桥杯评分标准_蓝桥杯比赛要求

    七.奖项设置及评选办法 7.1 省赛 1. 参赛选手奖 省赛每个组别设置一.二.三等奖,比例分别为 10% . 20% . 30% ,总比例为实际参赛人数 的 60% ,零分卷不得奖.省赛一等奖选手获 ...

  7. 2016第七届蓝桥杯省赛C/C++ B组试题解析整理

    引言 今天是蓝桥杯省赛举办的日子,是一个很激动人心的时刻,也是我第一次参加蓝桥杯,从上午9点到下午1点,做题时间历经4个小时,想想就过瘾. 下面整理一下这次比赛的题目. *注:此处为了省事儿,全是用J ...

  8. 计算机能力挑战赛_蓝桥杯、PAT、CCF CSP、团体程序设计天梯赛、传智杯、计算机能力挑战赛、软考等大学生编程比赛/考试介绍...

    介绍7个适合普通大学生参加的编程比赛/考试(注:有的比赛如蓝桥杯有多种赛别,本文仅介绍其中的程序设计/编程比赛). 编程入门书籍推荐<算法笔记>,内容详细易懂,对新手非常友好,描述语言为C ...

  9. 蓝桥杯比赛常考算法_蓝桥杯比赛要求

    七.奖项设置及评选办法 7.1 省赛 1. 参赛选手奖 省赛每个组别设置一.二.三等奖,比例分别为 10% . 20% . 30% ,总比例为实际参赛 人数的 60% ,零分卷不得奖.省赛一等奖选手获 ...

  10. ZUST蓝桥杯校内选拔赛(java,c)安吉校区

    序(暂存) 蓝桥杯分为校内模拟赛(10题)->省赛(6题)->国赛(6题)三场 按照难度分为A组(重点),B组(本科)和C组(专科) 按照类型分为软件组(C,Java,Python)和电子 ...

最新文章

  1. HarmonyOS 实现跑马灯效果
  2. linux中登录类型及配置文件
  3. FluxSink实例及解析
  4. 实践浅解free的具体作用(C语言)
  5. MySQL导出表结构相关字段以及把字段由下划线转驼峰命名
  6. 警方通报李彦宏被泼水事件进展:嫌疑人被行政拘留5日
  7. mxnet导入图像数据
  8. 人要抱着希望才能活得好
  9. 在LINUX中如何把2个文件中的内容合到另一个文件中
  10. 【XenApp 6.5体验】SmartAuditor 1.3 Policy Console策略控制台打开报401错误的解决办法...
  11. 2021年末IT公司市值排行榜
  12. 【学习摘抄】渗透性测试方法和步骤
  13. CSP化学方程式题解
  14. flex effect
  15. fastjson之@JSONField注解的几个的使用详细示范
  16. 东北大学应用数理统计知识点总结——历年真题题型
  17. 【HTML + CSS】模仿腾讯云页面——细节优化
  18. 判断两个数运算是否越界
  19. 全球与中国薄膜形成设备市场现状及未来发展趋势2022-2028
  20. 前端代码规范文档(Vue、es6、ts、部分js)

热门文章

  1. 数据完整性和Oracle的约束
  2. Fiddler使用 抓取手机数据包及中文乱码解决方案
  3. 今天9:30 | ICML 2022 11位论文一作带你走进机器学习领域顶级会议
  4. 加餐3 | 考博和读博
  5. python调用canape_利用CANape进行基于CCP的汽车控制器的匹配标定的设计
  6. 蓝海卓越计费管理系统 debug.php 远程命令执行漏洞
  7. wxpython制作桌面悬浮球
  8. 同步脑电图-功能磁共振融合推断宏观脑动力学
  9. 快手2020校园招聘秋招笔试--工程B试卷 订正
  10. Ray Casting:光线投射