蓝桥杯每日一题2023.11.21

题目描述

"蓝桥杯"练习系统 (lanqiao.cn)

题目分析

思路:

1.去重排序将其进行预处理

2.用gcd得到最简比值

3.用gcd_sub分别计算分子、分母的指数最大公约数

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
const int N = 110;
typedef long long ll;
ll n, cnt, a[N], x[N], y[N];
ll gcd(ll a, ll b)
{
	return b ? gcd(b , a % b) : a;
}
ll gcd_sub(ll a, ll b)
{
	if(a < b)swap(a, b);
	if(b == 1)return a;
	return gcd_sub(b, a / b);
}
int main()
{
	cin >> n;
	for(int i = 1; i <= n; i ++)
	{
		cin >> a[i];
	}
	sort(a + 1, a + 1 + n);
	for(int i = 2; i <= n; i ++)
	{
		if(a[i] != a[i - 1])
		{
			ll d = gcd(a[i], a[1]);
			cnt ++; 
			x[cnt] = a[i] / d;//分子 
			y[cnt] = a[1] / d;//分母 
		}
	}
	ll u = x[1], d = y[1];
	for(int i = 2; i <= cnt; i ++)
	{
		u = gcd_sub(u, x[i]);
		d = gcd_sub(d, y[i]);
	}
	cout << u << '/' << d;
	return 0;
}
相关推荐
zhangminghuan23 分钟前
前端面试应对技巧
前端·面试·职场和发展
招聘背调实务专家杨宏3 小时前
背调报告如何判断公开记录与岗位相关性
职场和发展
weixin_435208165 小时前
大模型面试宝典—大模型(LLMs)基础面
人工智能·职场和发展·agent
凯瑟琳.奥古斯特5 小时前
力扣1015C++解法技巧
c++·算法·leetcode·链表·职场和发展
yuanxi2007 小时前
华宝股份山东嘉萃投产,销售如何接住产能节奏
职场和发展·创业创新·学习方法
背景调查知识库8 小时前
第三方背景调查中的企业委托方与受托方角色核验什么?
职场和发展
人才风控数字化8 小时前
在职风控系统中的误报率、有效率与模型评估如何判断?
职场和发展
招聘风控观察19 小时前
招聘质量管理是什么?招聘质量的定义与评价口径完整解释
职场和发展
y1su1 天前
Leetcode 字符串模板
java·数据结构·算法·leetcode·职场和发展·动态规划
AI职业加油站1 天前
模数共振行动解读|大模型应用工程师证书,匹配行业 RAG/Agent 落地人才需求
人工智能·学习·算法·职场和发展·职场发展