练习10

 
  1. /****************************************************************************
  2. 10. 如图1所示,编写程序计算                ┎┰┰┰┰┰┰┰┰┰┒
  3.     大大小小正方形共有多少?当最小          ┠╂╂╂╂╂╂╂╂╂┨
  4.     正方行边长为1时,它们的总面积          ┠╂╂╂╂╂╂╂╂╂┨
  5.     共为多少?                              ┠╂╂╂╂╂╂╂╂╂┨
  6.                                             ┠╂╂╂╂╂╂╂╂╂┨
  7.                                             ┠╂╂╂╂╂╂╂╂╂┨
  8.                                             ┠╂╂╂╂╂╂╂╂╂┨
  9.                                             ┠╂╂╂╂╂╂╂╂╂┨
  10.                                             ┠╂╂╂╂╂╂╂╂╂┨
  11.                                             ┠╂╂╂╂╂╂╂╂╂┨
  12.                                             ┖┸┸┸┸┸┸┸┸┸┚
  13.     分析:
  14.     正方形长与宽相等; 如上图,可以取横向和纵向相同连续单位进行组合而成;
  15.     单位为1的正方形: 10*10
  16.     单位为2的正方形: 9*9
  17.     ...
  18.     单位为10的正方形: 1*1
  19.     正方形的总数为: 1^2 + 2^2 + 3^2 + ... + 10^2 -->1^2+2^2+...+N^2
  20.     总面积为: 10*10*1^2 + 9*9*2^2 + 8*8*3^2 + ... + 1*1* 10^2 --> (n-k+1)^2*k^2求和
  21. ********************************************************************************/
  22. #include <stdio.h>
  23. #include <math.h>
  24. int count_sqare(int n)
  25. {
  26.     int i,res = 0;
  27.     for(i=1; i<=n; i++)
  28.     {
  29.         res += (int)pow(i,2);
  30.     }
  31.     return res;
  32. }
  33. int count_area(int n)
  34. {
  35.     int i,res = 0;
  36.     
  37.     for(i=1; i<=n; i++)
  38.     {
  39.         res += (int)pow(n-i+1,2)*pow(i,2);
  40.     }
  41.     return res;
  42. }
  43. void main()
  44. {
  45.     printf("正方形的总数为: %d/n", count_sqare(10));
  46.     printf("正方形的总面积数为: %d/n", count_area(10));
  47. }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值