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


相关推荐
biter down4 小时前
14:pytest-order 插件 顺序控制案例
开发语言·python·pytest
测试开发-学习笔记5 小时前
从0开始搭建自动化(一)-appium+python
python·自动化
㳺三才人子5 小时前
初探 Flask
后端·python·flask·html
AI算法沐枫6 小时前
机器学习到底是什么?
人工智能·python·深度学习·机器学习·数据挖掘·大模型·#ai
小技与小术6 小时前
玩转Flask
开发语言·python·flask
SilentSamsara6 小时前
Python 性能优化:tracemalloc、profiling 与 C 扩展加速
开发语言·python·青少年编程·性能优化
冰小忆6 小时前
大驼峰命名规范和小驼峰命名规范的区别是什么?
开发语言·python
高洁016 小时前
知识图谱:AI的超级大脑
人工智能·python·数据挖掘·知识图谱
知识分享小能手7 小时前
Flask入门学习教程,从入门到精通,Flask智能租房——前期准备 知识点详解(5)
python·学习·flask
Curvatureflight7 小时前
【架构实战】生产级大模型 API 接入指南:流式响应(Streaming)异常处理与监控闭环
python·架构