(2)A - 偶数求和

简介: (2)A - 偶数求和
#include <stdio.h>
int main(void)
{
  int n, m;
  while (scanf("%d%d", &n, &m) != EOF) 
  {
    int sum = 0, ai = 2, count = 0, i;
    for (i = 1; i <= n; i++) 
    {
      sum += ai;
      ai += 2;            // 第1项为2,公差为2
      // 求和项达到m项,则计算平均值并输出
      if (i % m == 0) 
      {
        count++;
        if (count != 1)//判断是否需要输入空格
          printf(" ");
        printf("%d", sum / m);
        // 和清零
        sum = 0;
      }
    }
    // 最后一个平均值:如果n是m的倍数则最后一项已经输出,否则输出最后一项。换行。
    if (n % m == 0)
      printf("\n");
    else
      printf(" %d\n", sum / (n % m));
  }
  return 0;
}


相关文章
|
5月前
|
Python
累加求和 1~ n求和
累加求和 1~ n求和
95 4
|
8月前
|
存储 弹性计算 运维
对100 以内的所有正整数相加求和
【4月更文挑战第29天】
111 2
|
8月前
求100以内偶数之和
求100以内偶数之和
133 0
wustojc3010快速求和
wustojc3010快速求和
65 0
|
算法 C语言 C++
【前缀和】1413. 逐步求和得到正数的最小值
【前缀和】1413. 逐步求和得到正数的最小值
90 0
计算 100 以内的偶数累加和
计算 100 以内的偶数累加和
58 0
|
自然语言处理 算法 Python
利用函数求出一个数组最大三个数的乘积
利用函数求出一个数组最大三个数的乘积
126 0
|
人工智能 算法 BI
求两个升序序列的中位数( 减治法)
题目: 一个长度为L(L≥1)的升序序列S,处在第L/2(若为小数则去掉小数后加1)个位置的数称为S的中位数。例如,若序列S1=(11,13,15,17,19),则S1的中位数是15。两个序列的中位数是含它们所有元素的升序序列的中位数。例如,若S2=(2,4,6,8,20),则S1和S2的中位数是11。现有两个等长升序序列A和B,试实现一个在时间和空间两方面都尽可能高效的算法,找出两个序列A和B的中位数。
求两个升序序列的中位数( 减治法)

热门文章

最新文章