蓝桥杯刷题-四平方和

四平方和

代码:

python 复制代码
from copy import deepcopy
n = int(input())
maxn = int(5e6) + 10
dic = dict()
for a in range(maxn):
    if a * a > n:
        break
    for b in range(a,maxn):
        if a * a + b * b > n:
            break
        if dic.get(a*a+b*b) is None:
            dic[a*a+b*b] = (a,b)
ans = [maxn for _ in range(4)]
for a in sorted(dic.keys()):
    b = n - a
    if a > b:
        break
    if b in dic.keys():
        tmp = list(dic[a]+dic[b])
        tmp.sort()
        for i in range(4):
            if tmp[i] != ans[i]:
                if tmp[i] < ans[i]:
                    ans = deepcopy(tmp)
                break
for i in range(3):
    print(ans[i], end = ' ')
print(ans[-1])

作者:波尔k
链接:https://www.acwing.com/activity/content/code/content/8139085/
来源:AcWing
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
相关推荐
JAVA学习通3 分钟前
美团AI面试 实习一面面经
面试·职场和发展
码界筑梦坊6 分钟前
120-基于Python的食品营养特征数据可视化分析系统
开发语言·python·信息可视化·数据分析·毕业设计·echarts·fastapi
logo_2816 分钟前
Xpath语法规则的学习和使用
javascript·python·xpath·xpath语法
小许同学记录成长30 分钟前
三维重建技术文档
算法·无人机
快乐江湖40 分钟前
「层层包装」—— 装饰器模式
开发语言·python·装饰器模式
小为资料库1 小时前
2026年5月16日教资面试真题汇总(中小幼各科全)
面试·职场和发展
m0_702036532 小时前
mysql如何通过索引减少行锁范围_mysql索引与加锁逻辑
jvm·数据库·python
用户0332126663672 小时前
使用 Python 设置 Word 文档文本的颜色
python
qxwlcsdn2 小时前
如何用 IndexedDB 存储从 API 获取的超大列表并实现二级索引
jvm·数据库·python
小新同学^O^2 小时前
简单学习 --> 模型微调
开发语言·人工智能·python·模型微淘