2015 HDOJ 偶数求和

 

  • 杭电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而去看别人的思路,其实是很难及时消化掌握的。

 

       

posted @ 2020-02-04 18:55  一笑奈何DF  阅读(130)  评论(0编辑  收藏  举报
作者:一笑奈何DF
出处:https://home.cnblogs.com/u/ManbaDF99/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。