Richard Phillips Feynman was a well known American physicist and a recipient of the Nobel Prize in Physics. He worked in theoretical physics and also pioneered the field of quantum computing. He visited South America for ten months, giving lectures and enjoying life in the tropics. He is also known for his books “Surely You’re Joking, Mr. Feynman!” and “What Do You Care What Other People Think?”, which include some of his adventures below the equator.
His life-long addiction was solving and making puzzles, locks, and cyphers. Recently, an old farmer in South America, who was a host to the young physicist in 1949, found some papers and notes that is believed to have belonged to Feynman. Among notes about mesons and electromagnetism, there was a napkin where he wrote a simple puzzle: “how many different squares are there in a grid of N × N squares?”.
In the same napkin there was a drawing which is reproduced below, showing that, for N = 2, the answer is 5.
Input
The input contains several test cases. Each test case is composed of a single line, containing only one integer N, epresenting the number of squares in each side of the grid (1 ≤ N ≤ 100).
The end of input is indicated by a line containing only one zero.
Output
For each test case in the input, your program must print a single line, containing the number of different squares for the corresponding input.
Sample Input
2
1
8
0
Sample Output
5
1
204
Regionals 2008 >> Latin America - South America
问题链接:UVA12149 LA4215 Feynman
问题简述:(略)
问题分析:
给定整数N,求N×N正方形中可以有多少个边长为整数的正方形。对于给定的N,变长为1的正方形有N×N个,边长为2的正方形有(N-1)×(N-1)个,…,边长为i的正方形有(N-i+1)×(N-i+1)个,…,边长为N的正方形有1×1个。实际上,本问题就是计算1-N的平方和。
使用平方和公式计算一下就可以了。
程序说明:(略)
参考链接:(略)
题记:(略)
AC的C++语言程序如下:
/* UVA12149 LA4215 Feynman */
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
while(~scanf("%d", &n) && n)
printf( "%d\n", n * (n + 1) * (2 * n + 1) / 6);
return 0;
}