蓝桥杯刷题-四平方和

四平方和

代码:

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
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
相关推荐
全栈练习生几秒前
大模型原理之 KV Cache
python·ai
天赐范式12 分钟前
天赐范式第183天:让选择开始生效——育种者方程与选择生效条件
python·数字生命·天赐范式·动态运行时·育种者方程·选择压力·遗传力
mmmmath_318 分钟前
LeetCode.020.有效的括号
数据结构·算法·leetcode
Doubbbbbbble云39 分钟前
算法优化中的数学建模与理论界限分析4
算法·数学建模
benchmark_cc40 分钟前
批量行情返回后,怎样把请求失败的股票和正常数据分开?
python·数据分析·pandas·量化交易·股票数据·quantdash
垆边人似月.41 分钟前
华为机考题:字符个数统计
数据结构·算法·华为
en.en..1 小时前
Linux 进程退出exit(函数)
java·开发语言·算法
All for pursuit.1 小时前
【回溯-2】22.括号生成
数据结构·c++·算法·leetcode
y = xⁿ1 小时前
关于Agent工程落地
前端·人工智能·python
longlongzihan1 小时前
LeetCode 1004.最大连续1的个数III 滑动窗口及动态规划题解
c++·算法·leetcode·dp·滑动窗口