- /****************************************************************************
- 10. 如图1所示,编写程序计算 ┎┰┰┰┰┰┰┰┰┰┒
- 大大小小正方形共有多少?当最小 ┠╂╂╂╂╂╂╂╂╂┨
- 正方行边长为1时,它们的总面积 ┠╂╂╂╂╂╂╂╂╂┨
- 共为多少? ┠╂╂╂╂╂╂╂╂╂┨
- ┠╂╂╂╂╂╂╂╂╂┨
- ┠╂╂╂╂╂╂╂╂╂┨
- ┠╂╂╂╂╂╂╂╂╂┨
- ┠╂╂╂╂╂╂╂╂╂┨
- ┠╂╂╂╂╂╂╂╂╂┨
- ┠╂╂╂╂╂╂╂╂╂┨
- ┖┸┸┸┸┸┸┸┸┸┚
- 分析:
- 正方形长与宽相等; 如上图,可以取横向和纵向相同连续单位进行组合而成;
- 单位为1的正方形: 10*10
- 单位为2的正方形: 9*9
- ...
- 单位为10的正方形: 1*1
- 正方形的总数为: 1^2 + 2^2 + 3^2 + ... + 10^2 -->1^2+2^2+...+N^2
- 总面积为: 10*10*1^2 + 9*9*2^2 + 8*8*3^2 + ... + 1*1* 10^2 --> (n-k+1)^2*k^2求和
- ********************************************************************************/
- #include <stdio.h>
- #include <math.h>
- int count_sqare(int n)
- {
- int i,res = 0;
- for(i=1; i<=n; i++)
- {
- res += (int)pow(i,2);
- }
- return res;
- }
- int count_area(int n)
- {
- int i,res = 0;
- for(i=1; i<=n; i++)
- {
- res += (int)pow(n-i+1,2)*pow(i,2);
- }
- return res;
- }
- void main()
- {
- printf("正方形的总数为: %d/n", count_sqare(10));
- printf("正方形的总面积数为: %d/n", count_area(10));
- }
练习10
最新推荐文章于 2011-10-16 21:17:29 发布