杭电OJ2015

题目摘抄

Problem Description

有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。

 Input
输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义如上所述。
Output
对于每组输入数据,输出一个平均值序列,每组输出占一行。
Sample Input
3 2 4 2
Sample Output
3 6 3 7

 

本题题目还是简单,直接从1到n就行,不过输出格式很烦,注意最后一个数字没有空格。

题解

#include<iostream>

#include<math.h>

using namespace std;

int main()

{

       int n,m,i;

       while(cin>>n>>m)

       {

              int sum=0,num=0;

              int count=0;

              for(i=1;i<=n;i++)

              {

                     num+=2;

                     sum+=num;

                     if(i==m)

                     {

                            count++;

                            if(count==1)

                            {

                                   cout<<(sum/m);

                            }

                            else

                                   cout<<" "<<(sum/m);

                            sum=0;

                            i=0;

                            n-=m;

                     }

              }

              if(n%m!=0)

              cout<<" "<<sum/(n%m);

              cout<<endl;

       }

return 0;

}

posted @ 2019-07-22 21:08  foss  阅读(355)  评论(0编辑  收藏  举报