四方定理 题目 描述给定一个自然数 n,请输出 n 的所有四平方拆分方案。 输入 单个整数:表示 n。 输出 若干行:每行四个由小到大排列的自然数,表示一种拆分方案。 如果有多种方案,先输出首项较小的方案,对于首项相同的方案,先输出第二项较小的方案,其他情况以此类推。 数据范围: 0≤n≤50,000。 输入样例1 25 输出样例1 0 0 0 5 0 0 3 4 1 2 2 4
正确答案:参考程序(Python):n=int(input());res=[];for a in range(int(n**0.5)+1):for b in range(a,int((n-a*a)**0.5)+1):for c in range(b,int((n-a*a-b*b)**0.5)+1):r=n-a*a-b*b-c*c;d=int(r**0.5);if d*d==r and d>=c:res.append((a,b,c,d));[print(' '.join(map(str,x))) for x in r
试卷来源:202603 青少年等级考试C/C++真题四级