蓝桥杯刷题-四平方和

四平方和

代码:

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
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
相关推荐
业精于勤的牙5 小时前
浅谈:算法中的斐波那契数(二)
算法·职场和发展
陈天伟教授5 小时前
人工智能训练师认证教程(2)Python os入门教程
前端·数据库·python
2301_764441335 小时前
Aella Science Dataset Explorer 部署教程笔记
笔记·python·全文检索
爱笑的眼睛115 小时前
GraphQL:从数据查询到应用架构的范式演进
java·人工智能·python·ai
不穿格子的程序员5 小时前
从零开始写算法——链表篇4:删除链表的倒数第 N 个结点 + 两两交换链表中的节点
数据结构·算法·链表
BoBoZz195 小时前
ExtractSelection 选择和提取数据集中的特定点,以及如何反转该选择
python·vtk·图形渲染·图形处理
liwulin05065 小时前
【PYTHON-YOLOV8N】如何自定义数据集
开发语言·python·yolo
liuyao_xianhui5 小时前
寻找峰值--优选算法(二分查找法)
算法
dragoooon345 小时前
[hot100 NO.19~24]
数据结构·算法
木头左6 小时前
LSTM量化交易策略中时间序列预测的关键输入参数分析与Python实现
人工智能·python·lstm