| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 522 人关注过本帖
标题:偶数求和
只看楼主 加入收藏
kolnick
Rank: 2
等 级:论坛游民
帖 子:24
专家分:13
注 册:2009-6-24
结帖率:100%
收藏
 问题点数:0 回复次数:4 
偶数求和
Problem Description  有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列

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


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


Sample Input  3 2
4 2


Sample Output  3 6
3 7
搜索更多相关主题的帖子: 偶数 求和 
2010-12-21 18:26
牛鼻子老道
Rank: 2
等 级:禁止发言
帖 子:26
专家分:13
注 册:2010-12-21
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-12-21 19:58
kolnick
Rank: 2
等 级:论坛游民
帖 子:24
专家分:13
注 册:2009-6-24
收藏
得分:0 
还有比这更简单的算法吗!
2010-12-22 12:45
落拓
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:58
专家分:173
注 册:2010-9-29
收藏
得分:0 
楼主看看这个 :
#include <stdio.h>
void main()
{
    int n, m; //输入
    int sum; //总和
    int ave;//平均数
    int k;//数列的第几个

    while( 1 ) //输入多组数据
    {
        k=1; //每次都从第一个偶数开始
        scanf("%d%d", &n, &m); // n 为偶数的个数,m 为求平均值的个数
      
        while( m<n )
        {
            sum = (    ( 2*k + 2*(k+(m-1))  )*m    ) / 2; //数列求和
            ave = sum/m; //求平均值

            printf("%d ", ave);

            n -= m; //要求平均值的偶数个数减少
            k += m; // 下一次的求和从第 k+m 个偶数开始
        }
      
        sum = (  ( 2*k + 2*(k+(n-1))  )*n    )/2; //余下不够m个的数列
        ave = sum/n;
        printf("%d\n", ave);


    }
}

2010-12-22 17:15
freedgun
Rank: 5Rank: 5
等 级:职业侠客
帖 子:147
专家分:302
注 册:2010-11-11
收藏
得分:0 
学习了

有什么样的付出,就有什么样的收获!!
2010-12-22 19:01
快速回复:偶数求和
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015809 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved