偶数求和

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("
") ;
        else if(n%m!=0&&mark)
            printf("%d
",b + n % m - 1);
        else
            printf(" %d
",b + n % m - 1);
    }
    return 0;
}
View Code
原文地址:https://www.cnblogs.com/luyingfeng/p/3277519.html