蓝桥杯刷题-四平方和

四平方和

代码:

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
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
相关推荐
在世修行3 分钟前
智学文枢:AI 产出的持久化之道
python
CaptainT7 分钟前
第 1 卷:执行模型与基础语法
python
总裁余(余登武)10 分钟前
K-means算法改进(Python版)
python·算法·kmeans
CaptainT10 分钟前
第 2 卷:函数、模块与推导式
python
Shockang10 分钟前
项目驱动的 Python 入门
python
灯澜忆梦22 分钟前
【面向对象编程c++】| 指针与自定义数据类型
开发语言·c++·算法
xxwl58534 分钟前
区域赛算法模版第八章---贪心(Greedy)
c++·笔记·学习·算法
余槐i36 分钟前
transformers 升级后加载旧权重报错:三处不兼容如何逐一验证
python·大模型·transformers·模型量化·模型推理
CCblandy1 小时前
向量检索 ANN 参数实测:换一种数据分布,recall 掉了 51 个百分点
人工智能·python·算法·自然语言处理·性能优化
CS创新实验室1 小时前
一棵树怎么做到“自平衡还不太费力“?——红黑树的旋转与染色
数据结构·算法·红黑树·408·计算机考研