zoukankan      html  css  js  c++  java
  • 1181: 零起点学算法88——偶数求和(C语言)

    一、题目:

    题目来源WUSTOJ

    二、源代码:

    #include<stdio.h>
    int main() {
    	int n, m, num, sum, i, j, k;
    	while (scanf("%d%d", &n, &m) != EOF) {
    		k = 2; // 表示偶数序列
    		num = n / m + (n % m ? 1 : 0); // 平均值的个数,n%m不为0则num加1
    		for (i = 0; i < num; i++) {
    			sum = 0; // m个数的和
    			for (j = 0; j < m && (i * m + j) < n; j++) { // 求m个数的和,不能超过偶数序列的长度
    				sum += k;
    				k += 2; // 序列值加2,表示偶数
    			}
    			printf("%d%c", sum / j, (i < num - 1 ? ' ' : '
    ')); // 输出平均值,最后一个末尾换行
    		}
    	}
    	return 0;
    }

    三、注意:

    1. sum要清零
    2. 第9行的for循环括号中条件部分要加一条,避免超过n的大小
    3. k值要记得改变,即增加2
    4. 输出最后一个要换行

    四、运行截图:

    运行截图

  • 相关阅读:
    找零钱「Usaco2006 Dec」
    才艺表演「Usaco2018 Open」
    潜入行动「JSOI2018」
    任务安排「SDOI2012」
    BZOJ2298: [HAOI2011]problem a
    JZOJ 5818
    JZOJ 3493
    JZOJ 3470
    JZOJ 5781
    JZOJ 5778
  • 原文地址:https://www.cnblogs.com/wowpH/p/11060853.html
Copyright © 2011-2022 走看看