题目来源:洛谷P8635 四平方和
P8635 [蓝桥杯 2016 省 AB] 四平方和 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
暴力枚举
三层枚举
需要注意的一点是:
python中整数进行除加减 整数幂乘的操作外,都会变为浮点
因此时刻记住 使用sqrt()求根号时别忘了int转换
并且只让输出所有答案中数最小的序列:设置标志位避免多搜(三层全搜必然会TLE)
pythonAC源码:
import math
n=int(input())
flag=0
for i in range(int(math.sqrt(n))+1):
for j in range(i,int(math.sqrt(n-i*i))+1):
for k in range(j,int(math.sqrt(n-i*i-j*j))+1):
if flag == 1:
break
l=int(math.sqrt(n-i*i-j*j-k*k))
if n-i*i-j*j-k*k==l*l:
print(i,j,k,l)
flag=1