题目描述

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. linux驱动开发要知道的那些知识(三)------container_of,定时器 及系统调用
  2. 就是你把所有代码全写在一个类里的?
  3. axure9中继器添加一列序号自增_中继器如何做简单穿梭框
  4. 云计算之路-道歉,无地自容的:4月7日14:15~18:35网站故障给大家带来麻烦了
  5. MySQL-8.0.x 新特性之索引页合并
  6. 写给游戏编程自学者的入门指南
  7. maven 关联源码插件_繁琐的任务简单化,Maven的插件机制
  8. python杨辉三角编程_Python基础练习实例49(打印杨辉三角)
  9. 你的 App 在 iOS 13 上被卡死了吗?
  10. 人脸对齐(十一)--PIFA2015
  11. 变长编码中前缀码的概念
  12. ABBYY PDF Transformer+ 给你好看
  13. 【图像分割】基于matlab随机游走算法图像分割【含Matlab源码 149期】
  14. 程序员代码面试指南——笔记1
  15. Ubuntu16.04 安装搭建RED5流媒体服务器
  16. Redis锁解决超卖问题
  17. contiki学习笔记(五)ctimer和etimer
  18. 什么是3D打印?3D打印技术?
  19. Eclipse配置svn(入门)
  20. 解决小程序Uncaught ReferenceError: __wxConfig is not define的问题

热门文章

  1. solr的安装和配置
  2. A-LEVEL经济知识点讲解:国际收支的结构
  3. 宁波大学考博c语言真题,宁波大学考博英语历年真题及详解
  4. 投稿时要求注册ORCID,这张学术界身份证到底有哪些用处?
  5. 彻底弄懂Python标准库源码(一)—— os模块
  6. js 的Trim、LTrim、RTrim函数
  7. 实用在线工具 - 在线工具集合 【程序员的工具箱】
  8. 华为鸿蒙遭狙击,一周概念复盘简讯:狙击华为鸿蒙概念股(来收藏)
  9. 英文单词之说文解字(8)
  10. 以太坊源码分析(10)CMD深入分析