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

蓝桥杯刷题-12-公因数匹配-数论(分解质因数)不是很理解❓❓

蓝桥杯2023年第十四届省赛真题-公因数匹配

给定 n 个正整数 Ai,请找出两个数 i, j 使得 i < j 且 Ai 和 Aj 存在大于 1 的公因数。
如果存在多组 i, j,请输出 i 最小的那组。如果仍然存在多组 i, j,请输出 i 最小的所有方案中 j 最小的那组。
笔记:
分解质因数、分解因数(需要学习⭐⭐)
算数基本定理:任何一个正整数都可以拆成若干个质数的乘积。
在这里插入图片描述

#include <iostream>
#include<bits/stdc++.h>
#define int long long
#define INF 0x3f3f3f3f
using namespace std;
//st[i]表示包含质因子i的数字组成的数组
//st[i]={1,2};map<int, vector<int>>st;
int cnt=0;void prim(int x,int pos)
{for(int i=2;i<=x/i;i++){if(x%i)//不等于0说明不是它的一个因子continue;st[i].push_back(pos);while(x%i==0){//把这个因子都除掉后再看下一个因子x/=i;}}if(x>1){st[x].push_back(pos);}return ;
}void solve()
{int n;cin>>n;for(int i=1;i<=n;i++){int x;cin>>x;prim(x,i);//分解质因子}pair<int,int>ans={INF,INF};for(auto[x,y]:st){if(y.size()<2){continue;}if(y[0]<ans.first){ans={y[0],y[1]};}else if (y[0]==ans.first){if(y[1]<ans.second){ans={y[0],y[1]};}}}cout<<ans.first<<" "<<ans.second<<endl;
}
signed main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int t;t=1;//cin>>t;while(t--)solve();
}
http://www.lryc.cn/news/334525.html

相关文章:

  • 机器视觉学习(十二)—— 绘制图形
  • 软考信息处理技术员2024年5月报名流程及注意事项
  • linux:du和df区别
  • MacOS Docker 部署 Redis 数据库
  • 个推助力小米汽车APP实现智能用户触达,打造智能出行新体验
  • 科研 | SCI、SCIE、ESCI、JIF、IF、IEEE Fellow
  • 10倍提效!用ChatGPT编写系统功能文档。。。
  • 【Linux进阶之路】地址篇
  • 代码随想录第34天| 1005.K次取反后最大化的数组和 134. 加油站 135. 分发糖果
  • Rust线程间通信通讯channel的理解和使用
  • Vue3组件基础示例
  • 如何使用PL/SQL Developer工具导出clob字段的表?
  • 蓝桥杯刷题 深度优先搜索-[NewOJ P1158]N皇后(C++)
  • python实例2.2:编写一个装饰器,计算任何一个函数执行的时间(详解及其知识点拓展)
  • Jenkins 持续集成 【CICD】
  • 【CHI】(十二)Memory Tagging
  • Vue - 你知道Vue组件之间是如何进行数据传递的吗
  • IP网络对讲广播系统审计
  • 蓝桥杯刷题--python38
  • 【LeetCode热题100】33. 搜索旋转排序数组(二分)
  • 基于Leaflet.js的Marker闪烁特效的实现-模拟预警
  • Vue-05
  • Mongodb中一个小巧的数据更新命令$inc
  • Java基于SpringBoot+Vue的专家医院预约挂号系统,附源码
  • STM32一个地址未对齐引起的 HardFault 异常
  • spring事务那些事
  • 设计模式深度解析:AI大模型下的策略模式与模板方法模式对比解析
  • 贪婪算法python实现
  • (一)基于IDEA的JAVA基础12
  • vue3中封装table表格