急求调,时间超限45分!
  • 板块灌水区
  • 楼主FranklinAn
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/7/15 18:52
  • 上次更新2024/7/15 19:49:52
查看原帖
急求调,时间超限45分!
1350262
FranklinAn楼主2024/7/15 18:52

时间超限45分

四方定理 ** _站外**_

给定一个自然数n,请输出n的所有四平方拆分方案。

Input

每行一个非负整数n(<=5e6),不超过10行。

Output

对于每个n,输出若干行:

每行四个由小到大排列的自然数,表示一种拆分方案。

如果有多种方案,按照字典序输出。

输入数据

1

25

输出数据

0 0 0 1

0 0 0 5

0 0 3 4

1 2 2 4

代码:

#include<bits/stdc++.h>

using namespace std;

int main(){

    for(int n;cin>>n;){
    	for(int a=0;a*a<=n/4;a++){
    		for(int b=a;b*b<=n/3;b++){
    			for(int c=b;c*c<=n/2;c++){
    				for(int d=c;d*d<=n/1;d++){
    					if(a*a+b*b+c*c+d*d==n){
    						printf("%d %d %d %d\n",a,b,c,d);
						}
					}
				}
			}
		}
	}
    return 0;
}
2024/7/15 18:52
加载中...