蓝桥杯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✨


相关推荐
VIP_CQCRE6 小时前
用 Ace Data Cloud 快速接入 OpenAI Chat Completions:对话、流式、多轮和多模态一篇打通
python·ai·openai·api·教程
运行时记录6 小时前
prompt-optimizer skill
算法
万法若空7 小时前
【数据结构-哈希表】哈希表原理
数据结构·算法·散列表
退休倒计时7 小时前
【每日一题】LeetCode 437. 路径总和 III TypeScript
算法·leetcode·typescript
老迟到的茉莉7 小时前
Hermes 是谁?跟 Claude Code 差在哪
开发语言·python
学逆向的7 小时前
汇编——内存
开发语言·汇编·算法·网络安全
tachibana27 小时前
hot100 翻转二叉树(226)
java·数据结构·算法·leetcode
Day(AKA Elin)7 小时前
【Day】MTP(Multi Token Prediction)技术学习
python·深度学习·学习·llama
生戎马8 小时前
高光谱拼接算法(七)USAC
算法
PhotonixBay9 小时前
共聚焦成像核心原理:针孔、PSF与三维形貌测量技术
人工智能·测试工具·算法