蓝桥杯3525 公因数匹配 | 枚举+数学

题目传送门


这个题目是一个数学题,由于只需要找到存在大于1的公因数的两数,所以比较方便的做法是统计每一个数的(质)因数。可以通过筛法统计质因数降低复杂度,但是直接枚举因数也可以满足要求。使用字典记录每个因数出现的位置,由于记录下标的有序性,可以直接遍历得到i、j最小的组。


python 复制代码
from collections import defaultdict
dic = defaultdict(list)
n = int(input())
a = list(map(int, input().split()))

for i in range(0, n):
    for j in range(2, int(a[i]**0.5)+1):
        if a[i] % j == 0:
            dic[j].append(i+1)
            dic[a[i]//j].append(i+1)
    dic[a[i]].append(i + 1)

mini = 10**5+5
minj = 10**5+5
for it in dic.values():
    if len(it) > 1:
        if mini > it[0]:
            mini = it[0]
            minj = it[1]
        elif mini == it[0]:
            minj = min(it[1], minj)
print(mini, minj)

END✨


相关推荐
渣渣xiong1 小时前
从零开始:前端转型AI agent直到就业第五十七天-第五十八天
前端·人工智能·python
小L~~~1 小时前
基于贪心策略的混合遗传算法求解01背包问题
python·算法
才兄说2 小时前
机器人二次开发机器人动作定制?动作迁移数据优化
python
洛水水2 小时前
【力扣100题】53.最长回文子串
算法·leetcode·职场和发展
jieyucx2 小时前
Go 语言 sort 包详解:从基础排序到自定义排序(含底层原理+零基础看懂)
算法·golang·排序算法·sort
用户8356290780512 小时前
用 Python 实现 Excel 散点图绘制与定制
后端·python
PAK向日葵2 小时前
从零实现 Python 虚拟机(一):PVM 基本原理介绍
python
神所夸赞的夏天2 小时前
创建虚拟环境提示SSLError错误
python
极光代码工作室2 小时前
基于机器学习的二手商品价格预测系统
人工智能·python·深度学习·机器学习
无情的西瓜皮3 小时前
MCP协议实战:从零搭建一个AI Agent工具服务器
运维·服务器·python