搜索 HOJ 1281 Lagrange\'s Four-Square Theorem
2014-02-08 09:53
405 查看
Lagrange's Four-Square Theorem
My Tags | (Edit) |
---|
Source : ACM ICPC Aizu(Japan) Regional Contest 2003 | |||
Time limit : 1 sec | Memory limit : 32 M |
Input[/b]The input is composed of at most 255 lines, each containing a single positive integer less than 2^15, followed by a line containing a single zero. The last line is not a part of the input data.
Output[/b]The output should be composed of lines, each containing a single integer. No other characters should appear in the output.The output integer corresponding to the input integer n is the number of all representations of n as the sum of at most four positive squares.
Sample Input[/b]1
25
2003
211
20007
0
Sample Output[/b]1
3
48
7
738
题意:任意一个数都能被不多于4个的数字的平方相加表示,问一个数有多少种表示方法。
思路:枚举吧,枚举第一个数,第二个数,第三个数,第四个数,很简单是吧。。。。
代码:#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>#include<string.h>#include<math.h>#include<string.h>using namespace std;const int maxn = (1<<15)+10;
int ans[maxn];
int main(){ for (int i = 1 ; i*i < maxn ; ++i) { int a = i*i; ++ans[i*i]; for (int j = i ; a + j*j < maxn ; ++j) { int b = a+j*j; ++ans[b]; for (int k = j ; b + k*k < maxn ; ++k) { int c = b+k*k; ++ans[c]; for (int l = k ; c+l*l < maxn ; ++l) ++ans[c+l*l]; } } } int n; while (scanf("%d",&n),n) { printf("%d\n",ans
); }}
相关文章推荐
- 搜索 HOJ 1281 Lagrange's Four-Square Theorem
- Lagrange's four-square theorem
- POJ2042 Lagrange's Four-Square Theorem
- POJ 2042 Lagrange's Four-Square Theorem 笔记
- poj 2042 Lagrange's Four-Square Theorem
- 搜索 HOJ 1838 Traffic Jam
- 搜索 HOJ 1140 The Game
- (简单) 搜索 HOJ 1066 Substrings
- *搜索 HOJ 1320 Square Destroyer
- zoj1738 Lagrange's Four-Square Theorem(DP)
- hdu 4158 hoj 2581 Go 简单搜索
- 搜索 HOJ 1749 Doggone Moles
- 搜索 HOJ 1136 Robbery
- (简单)搜索 HOJ 1070 Word
- 搜索 HOJ 1736 A Game on the Chessboard
- 搜索 HOJ 1126 Smith Numbers
- (简单)搜索 HOJ 1075 The Castle
- poj 2197 hoj 2027 Jill's Tour Paths 搜索
- 搜索 HOJ 1692 Choose Your Own Adventure
- Go hdu 4158 hoj 简单搜索