偶数求和

http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=1242这个是SDUTOJ1242

http://acm.hdu.edu.cn/showproblem.php?pid=2015HDUOJ2015

题目描述

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

输入

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

输出

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

示例输入

 

3 2

4 2

 

示例输出

3 6

3 7

这个题是一个等差数列求平均值的题,只是这个求平均值方法不错,所以收藏一下,已开始写出来试了好多样例都过,但往SDUTOJ上一交就是PE,后来就去HDUOJ上交就对,一直没改出来,后来会神上来就试了一组数据1 2,结果就多输出了空格,才知道问题所在,最后判断取余是否为0的时候要再多加判断一下,才能保证空格不多输出

#include<stdio.h>

int main()

{

    int i, n, m, b, mark;

    while (scanf("%d%d", &n, &m) != EOF)

    {

        b = 2;

        mark = 1;

        for (i = 0 ; i < n / m ; i++)

        {

            if(mark == 1)

            {

                printf("%d",b+m-1) ;

                mark = 0 ;

            }

            else

                printf(" %d",b+m-1) ;

            b += m * 2;

        }

        if(n%m == 0)

            printf("\n") ;

        else if(n%m!=0&&mark)

            printf("%d\n",b + n % m - 1);

        else

            printf(" %d\n",b + n % m - 1);

    }

    return 0;

}
View Code

 

你可能感兴趣的:(偶数求和)