本题链接:点击打开链接
本题题意:
已知数列是以二开头的偶数,输入n表示数列长度,m表示将所给长度n分成若干长度为m的段,若最后不足m也单独成段,求输出每段的平均数。
解题思路:
首先将所在范围的数列存在一个数组中,然后取前n项,输入m则可知共有n/m个完整段,最后单独成段的项数为n%m项。知此,已经不难求解了。
参考代码:
#include<stdio.h>
int a[100];
int b[100];
int main()
{
int n,m;
while(scanf("%d%d",&n,&m)!=EOF)
{
for(int i=1,j=2;i<=n;i++)
{
a[i]=j;
j+=2;
}
int k=1;
for(int i=1;i<=n/m;i++)
{
int sum=0;
for(int j=1;j<=m;j++)
sum+=a[k++];
if(i==1)
printf("%d",sum/m);
else
printf(" %d",sum/m);
}
if(n%m==0)
printf("\n");
if(n%m)
{
int sum=0;
for(int i=k;i<=n;i++)
sum+=a[i];
printf(" %d\n",sum/(n%m));
}
}
return 0;
}