solution.md 1.0 KB
Newer Older
每日一练社区's avatar
每日一练社区 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
# 四平方和
四平方和定理,又称为拉格朗日定理:

每个正整数都可以表示为至多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<5000000)  
要求输出4个非负整数,按从小到大排序,中间用空格分开  

例如,输入:
```
5
```
则程序应该输出:
```
0 0 1 2
```
再例如,输入:
```
12
```
则程序应该输出:
```
0 2 2 2
```
再例如,输入:
```
773535
```
则程序应该输出:
```
1 1 267 838
```

## aop
### before
```cpp

```
### after
```cpp

```

## 答案
```cpp

```
## 选项

### A
```cpp

```

### B
```cpp

```

### C
```cpp

```