蓝桥杯每日一题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;
}
相关推荐
仟濹4 分钟前
2026-04-09~10-复习计划+蓝桥杯注意的点
职场和发展·蓝桥杯
skywalker_1134 分钟前
力扣hot100-5(盛最多水的容器),6(三数之和)
算法·leetcode·职场和发展
生信研究猿38 分钟前
leetcode 226.翻转二叉树
算法·leetcode·职场和发展
liu****2 小时前
第十五届蓝桥杯大赛软件赛国赛C/C++大学B组
c++·算法·蓝桥杯·acm
念越4 小时前
蓝桥杯模拟4期自动化测试代码完整版解析
软件测试·蓝桥杯·自动化
wfbcg5 小时前
每日算法练习:LeetCode 3. 无重复字符的最长子串 ✅
算法·leetcode·职场和发展
_日拱一卒5 小时前
LeetCode:矩阵置零
java·数据结构·线性代数·算法·leetcode·职场和发展·矩阵
玛丽莲茼蒿5 小时前
Leetcode hot100 【中等】括号生成
算法·leetcode·职场和发展
小欣加油5 小时前
leetcode 128 最长连续序列
c++·算法·leetcode·职场和发展
ulias2126 小时前
leetcode热题 - 2
算法·leetcode·职场和发展