杭电 acm 2015(偶数求和)

来源:互联网 发布:td_lte是什么网络 编辑:程序博客网 时间:2024/06/05 00:13
题目:
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

先判断n是奇数还是偶数,然后求平均值就行了,要注意格式


代码如下:
#include<stdio.h> int main() {     int n,m,a[100],i,j,w;     while(~scanf("%d%d",&n,&m))     {         a[0]=2;         for(i=1;i<n;i++)             a[i]=a[i-1]+2;         if(n%m==0)         {             for(i=0;i<n-m;i=i+m)             {                 w=0;                 for(j=i;j<i+m;++j)                    w+=a[j];                printf("%d ",w/m);             }             w=0;            for(j=i;j<i+m;j++)                 w+=a[j];            printf("%d\n",w/m);         }        else        {            for(i=0;i<n-(n%m);i=i+m)             {                 w=0;                 for(j=i;j<i+m;++j)                     w+=a[j];                printf("%d ",w/m);             }             w=0;             for(j=i;j<i+n%m;j++)                w+=a[j];         printf("%d\n",w/(n%m));        }     }    return 0;}


0 0
原创粉丝点击