当前位置: 首页 > article >正文

第十五届蓝桥杯之宝石组合

这道题找精美程度最高的三个组合,根据我们数论的知识,也就是说找最大公因数最大的三个数

#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>
using namespace std;
const int N = 1e5 + 10;
int n;
int s[N];
vector<int> d[N];//开个桶
int main()
{
	cin >> n;
	for (int i = 1; i <= n; i++)
	{
		cin >> s[i];
	}//输入闪亮值
	sort(s + 1, s + 1 + n);//给闪亮值排序,因为我们要按字典序最小输出
	for (int i = 1; i <= n; i++)//遍历每个闪亮度
	{
		for (int j = 1; j <= sqrt(s[i]); j++)//遍历1到根号下这个闪亮度,我们把闪亮度尾插到下标为因子的桶里面
		{
			if (s[i] % j == 0)
			{
				d[j].push_back(s[i]);//此时的j是1到根号s[i]的因子
				if (s[i] / j != j) d[s[i] / j].push_back(s[i]);//此时的s[i]/j就表示另一半因子
			}
		}
	}
	for (int i = N; i >= 1; i--)//闪亮度最高为N,我们从N一直往下找,直到找到因子对应三个闪亮度的因子,我们就把这三个闪亮度一次输出

	{
		if (d[i].size() >= 3)
		{
			for (int j = 0; j < 3; j++)
			{
				cout << d[i][j] << " ";
			}
			cout << endl;
			break;
		}
	}



	return 0;
}


http://www.kler.cn/a/567785.html

相关文章:

  • 复习一下什么是restful风格
  • 蓝桥 发现环
  • React实现无缝滚动轮播图
  • C语言初始化结构体变量5种方式
  • 基于yolov8的农作物叶子病害检测系统python源码+onnx模型+评估指标曲线+精美GUI界面
  • Linux下网络运维命令总结
  • 嵌入式晶振细究
  • 【异地访问本地DeepSeek】Flask+内网穿透,轻松实现本地DeepSeek的远程访问
  • JavaWeb-ServletContext应用域接口
  • 在mingw64里面编译libdatachannel的步骤记录
  • idea中或pycharm中编写Markdown文件
  • ES 客户端 API 二次封装思想
  • 双机热备旁挂组网实验
  • 现今大语言模型性能(准确率)比较
  • Kafka生产者相关
  • C# WinForm程序中如何调试dll接口
  • AI智能质检系统 工业AI视觉检测 找上海尤劲恩
  • 局域网自动识别机器名和MAC并生成文件的命令
  • RabbitMQ系列(二)基本概念之Publisher
  • Git GitHub基础