蓝桥杯刷题-四平方和

四平方和

代码:

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
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
相关推荐
码界筑梦坊8 小时前
324-基于Python的中国传染病数据可视化分析系统
开发语言·python·信息可视化
ZC跨境爬虫8 小时前
Playwright基础操作:元素坐标获取与坐标截图实战
python·microsoft·前端框架
源码之家8 小时前
计算机毕业设计:Python汽车销量智能分析与预测系统 Flask框架 scikit-learn 可视化 requests爬虫 AI 大模型(建议收藏)✅
人工智能·hadoop·python·算法·数据分析·flask·课程设计
旺仔.2918 小时前
八大排序:(三)快速排序
数据结构·c++·算法
北顾笙9808 小时前
day13-数据结构力扣
数据结构·算法·leetcode
生信研究猿8 小时前
leetcode 1.两数之和(重刷)
算法·leetcode·职场和发展
普通网友8 小时前
使用Python处理计算机图形学(PIL/Pillow)
jvm·数据库·python
ZoeJoy88 小时前
算法筑基(八):数学算法——程序背后的数理根基
算法·贪心算法·排序算法·动态规划·图搜索算法
qiqiqi(^_×)8 小时前
pycharm Memory Settings无法保存
ide·python·pycharm
xzal128 小时前
Python 中,and 和 or 运算符的运算规则
笔记·python