蓝桥杯每日一题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;
}
相关推荐
牛客企业服务6 小时前
2026年AI面试布局:破解规模化招聘的效率困局
人工智能·面试·职场和发展
机械电气电机杂谈11 小时前
电机功率因数深度解析:永磁同步电机的物理机制、控制策略与设计优化研究报告
职场和发展·创业创新·制造·学习方法·业界资讯
火火PM打怪中12 小时前
空窗期的自我探索
人工智能·职场和发展
_OP_CHEN12 小时前
【算法基础篇】(三十二)动态规划之背包问题扩展:从多重到多维,解锁背包问题全场景
c++·算法·蓝桥杯·动态规划·背包问题·算法竞赛·acm/icpc
测试人社区—小叶子12 小时前
测试开发面试高频“灵魂八问”深度解析与应答策略
网络·人工智能·测试工具·云原生·容器·面试·职场和发展
代码AI弗森13 小时前
意图识别面试通关指南:从基础问答到场景落地
面试·职场和发展
闻缺陷则喜何志丹14 小时前
【图论 组合数学】P10912 [蓝桥杯 2024 国 B] 数星星|普及+
c++·数学·蓝桥杯·图论
鹿角片ljp14 小时前
力扣144.二叉树前序遍历-递归和迭代
算法·leetcode·职场和发展
_Voosk15 小时前
C指针存储字符串为何不能修改内容
c语言·开发语言·汇编·c++·蓝桥杯·操作系统
Swift社区15 小时前
LeetCode 448 - 找到所有数组中消失的数字
算法·leetcode·职场和发展