侧边栏
首页代码

题目 1159: [偶数求和]

题目描述

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

输入

输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义如上所述。

输出

对于每组输入数据,输出一个平均值序列,每组输出占一行

样例输入
3 2
4 2
样例输出
3 6
3 7

#include<stdio.h>
int a[105] ,s[105];
int main()
{
    int i ,m ,n;
    while(scanf("%d %d" ,&n ,&m) == 2)
    {
        for(i = 0;i < n;i++)
        {
            a[i] = (i + 1) * 2;
        }

        if(n % m == 0)
        {
            int q = 0;
            for(int j = 0;j < n - (n % m);j += m)
            {
                int sum1 = 0;
                for(i = j;i < j + m;i++)
                {
                    sum1 += a[i];
                }
                if(q++) printf(" ");
                printf("%d",sum1 / m);
                sum1 = 0;
            }
            printf("\n");
        }
        else
        {
            int sum2 = 0 ,sum1 = 0;
            for(i = n - (n % m);i < n;i++)
            {
                sum2 += a[i];
            }
            for(int j = 0;j < n - (n % m);j += m)
            {
                for(i = j;i <= j + m - 1;i++)
                {
                    sum1 += a[i];
                }
                printf("%d ",sum1 / m);
                sum1 = 0;
            }
            printf("%d\n",sum2 / (n % m));
        }
    }
    return 0;
}

 

posted @ 2020-10-05 00:19  AlexStraightUp  阅读(156)  评论(0)    收藏  举报
页脚HTML代码