首页 > 其他 > 详细

2015 HDOJ 偶数求和

时间:2020-02-04 20:19:02      阅读:84      评论:0      收藏:0      [点我收藏+]

 

  • 杭电2015题的题干和输入输出格式要求如下:

技术分享图片


 

  • 解题思路:本题利用数组存储数据去解决,首先根据输入的n和m,计算得到b和d。b代表符合有m个数的组数,d代表最后不足m个的剩余实际数量。然后先按组循环计算得到每一组的平均值并输出,计算完毕之后再判断是否还有剩余值,如果有再求剩余值的平均值。

 

  •   解决代码:
    技术分享图片
     1 #include<stdio.h>
     2 int main()
     3 {
     4     int n,m,b,d;
     5     int sum,c,count;
     6 
     7     while(scanf("%d %d",&n,&m)!=EOF)
     8     {
     9         b=n/m,d=n%m; //b代表有m个数的组数,d代表剩下的数的个数 
    10         c=1,count=0,sum=0;
    11         int i=0;
    12         int a[100]={0};
    13     for(c=1;c<=b;c++)     //m个数的组数 
    14     {     
    15         for(i=1;i<=m;i++)
    16         {
    17             a[i]=a[i-1]+2;
    18             sum+=a[i];
    19             count++;
    20         }
    21         printf("%d",sum/m);   //输出平均值 
    22         a[0]=a[i-1];            //初始化操作,方便下一次循环运算 
    23         sum=0;
    24         if(count<n) printf(" ");  //若count==n,那么不输出空格 
    25     }   
    26      if(d!=0)
    27      {
    28          int sum_end=0;
    29          for(i=0;i<d;i++)
    30          {
    31              sum_end+=a[i]+2;
    32              a[i+1]=a[i]+2;
    33          }
    34         printf("%d",sum_end/d);
    35       } 
    36       printf("\n");
    37     } //end while
    38     
    39     return 0;
    40  } 
    View Code

 

  • 心得体会:虽然这道题不是一道难题,但是还是花了很多时间,总的来说还是自己解题思路不够清晰,有一些小的细节做得不到位,导致耽误了很多的时间。无论解什么样的题,都要自己独立思考去实现,去调试代码。只有这样影响才会深刻,为了花短时间AC而去看别人的思路,其实是很难及时消化掌握的。

 

       

2015 HDOJ 偶数求和

原文:https://www.cnblogs.com/ManbaDF99/p/12260554.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!