蓝桥杯刷题-四平方和

四平方和

代码:

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
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
相关推荐
写代码的【黑咖啡】13 分钟前
深入理解 Python 中的模块(Module)
开发语言·python
ytttr87335 分钟前
MATLAB基于LDA的人脸识别算法实现(ORL数据库)
数据库·算法·matlab
爱笑的眼睛111 小时前
超越 `cross_val_score`:深度解析Scikit-learn交叉验证API的架构、技巧与陷阱
java·人工智能·python·ai
jianfeng_zhu2 小时前
整数数组匹配
数据结构·c++·算法
smj2302_796826522 小时前
解决leetcode第3782题交替删除操作后最后剩下的整数
python·算法·leetcode
gCode Teacher 格码致知3 小时前
Python基础教学:Python 3中的字符串在解释运行时的内存编码表示-由Deepseek产生
python·内存编码
翔云 OCR API3 小时前
承兑汇票识别接口技术解析与应用实践
开发语言·人工智能·python·计算机视觉·ocr
LYFlied3 小时前
【每日算法】LeetCode 136. 只出现一次的数字
前端·算法·leetcode·面试·职场和发展
唯唯qwe-4 小时前
Day23:动态规划 | 爬楼梯,不同路径,拆分
算法·leetcode·动态规划
likerhood4 小时前
3. pytorch中数据集加载和处理
人工智能·pytorch·python