谁在乎我是谁


私信TA

用户名:li1998

访问量:1417

签 名:

起风了,唯有努力生存

等  级
排  名 2047
经  验 2400
参赛次数 0
文章发表 3
年  龄 0
在职情况 学生
学  校 贵州商学院
专  业

  自我简介:

TA的其他文章

解题思路:将一段数字按照一定的长度进行分段,我们可以将其分为两部分:

1》出去最后一组之外的其他组,可以按照正常的求每组第一个数r,同时使用等差数列求和公式求总和,并除以每一组的长度m。

2》最后一组中,同样先求出数组首元素r,此时的数组长度为y,再进行就平均数sum。

注意事项:

参考代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int fun(int n,int m)
{
    int s,y,r,sum,i;      //s是拥有m个元素的段的个数,y最后一组数组的长度
    s=n/m;y=n%m;
    for(i=1;i<=s;i++)
    {
        r=2*((i-1)*m+1);   //r每段数组的首元素
        sum=(m*(r+r+(m-1)*2))/(2*m);   //sum每段元素的平均值
        printf("%d ",sum);
    }
    if(y!=0)
    {
        r=2*(s*m+1);
        sum=(y*(r+r+(y-1)*2))/(2*y);
        printf("%d ",sum);
    }
}
int main()
{
    int m,n;       //n长度 m每段长度
    while(scanf("%d%d",&n,&m)!=EOF)
    {
        fun(n,m);
        printf("\n");
    }
    return 0;
}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区