蓝桥杯-四平方和-python

简介: 蓝桥杯-四平方和-python

题目描述


四平方和定理,又称为拉格朗日定理:

每个正整数都可以表示为至多 4 个正整数的平方和。

如果把 0 包括进去,就正好可以表示为 4 个数的平方和。

比如:

5 = 0^2 + 0^2 + 1^2 + 2^2

7 = 1^2 + 1^2 + 1^2 + 2^2

对于一个给定的正整数,可能存在多种平方和的表示法。

要求你对 4 个数排序:

0≤a≤b≤c≤d

并对所有的可能表示法按 a,b,c,d为联合主键升序排列,最后输出第一个表示法。


输入描述


程序输入为一个正整数 N(N<5×10^6)。


输出描述


要求输出 4 个非负整数,按从小到大排序,中间用空格分开


输入输出样例


示例

输入

12

输出

0 2 2 2

思路:


暴力寻找每一个数,做适当的剪枝处理


代码:


1. import math
2. n=int(input())
3. #确定边界,题目要求的数一定小于给定的数的开方
4. x=int((math.sqrt(n)))
5. 
6. #创建一个平方列表,减少寻找第四个数的时间
7. pf = [i ** 2 for i in range(0, x)]
8. 
9. def f(x):
10.     #暴力搜索每一个数,进行可行性剪枝
11. for a in range(x+1):
12.         flag=0
13. if a*a>n:
14.             flag=1
15. for b in range(a,x+1):
16. if flag:
17.                 break
18. if a*a+b*b>n:
19.                 flag=1
20. for c in range(b,x+1):
21.                 z=n-a*a-b*b-c*c
22. if z<0:
23.                     flag=1
24.                     break
25. else:
26. if z in list:
27.                         ans=sorted([a,b,c,int(math.sqrt(z))])                                
28. return ans[0],ans[1],ans[2],ans[3]
29. a, b, c, d = f(x)
30. print(f"{a} {b} {c} {d}")
目录
相关文章
|
6月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-475 连续平方和
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-475 连续平方和
40 0
|
1月前
|
Python
蓝桥杯练习题(一):Python组之入门训练题
这篇文章是关于蓝桥杯Python组的入门训练题,包括Fibonacci数列、圆的面积、序列求和和A+B问题的具体代码实现和样例输出。
130 0
|
1月前
|
存储 机器学习/深度学习 算法
蓝桥杯练习题(三):Python组之算法训练提高综合五十题
蓝桥杯Python编程练习题的集合,涵盖了从基础到提高的多个算法题目及其解答。
63 3
蓝桥杯练习题(三):Python组之算法训练提高综合五十题
|
1月前
|
人工智能 Python
蓝桥杯练习题(四):Python组之历届试题三十题
关于蓝桥杯Python组历届试题的三十个练习题的总结,包括题目描述、输入输出格式、样例输入输出以及部分题目的解题思路和代码实现。
32 0
蓝桥杯练习题(四):Python组之历届试题三十题
|
1月前
|
存储 机器学习/深度学习 算法
蓝桥杯练习题(二):Python组之基础练习三十题
蓝桥杯Python编程练习题的集合,包含了三十个不同难度的编程题目,覆盖了基础语法、数据结构和算法等领域。
34 0
|
5月前
|
算法 前端开发 数据库
2016蓝桥杯大赛软件类省赛 四平方和
2016蓝桥杯大赛软件类省赛 四平方和
24 0
|
6月前
|
索引 Python 容器
【备战蓝桥杯】探索Python内置标准库collections的使用
【备战蓝桥杯】探索Python内置标准库collections的使用
93 1
|
6月前
|
开发者 Python
【备战蓝桥杯】如何使用Python 内置模块datetime去计算我与CSDN相遇的天数
【备战蓝桥杯】如何使用Python 内置模块datetime去计算我与CSDN相遇的天数
71 1
|
6月前
|
算法 测试技术 编译器
蓝桥杯-02-python组考点与14届真题
蓝桥杯-02-python组考点与14届真题
|
6月前
|
Python
第十三届蓝桥杯B组python(试题A:排列字母)
第十三届蓝桥杯B组python(试题A:排列字母)
64 0
下一篇
无影云桌面