杭电acm 2015 我为什么会错

2024-12-01 01:33:31
推荐回答(1个)
回答(1):

题意没想好 printf("%d\n",4*i-1);
你这样明显是求每两个数的平均值
而题意是要求每m个数的平均值
#include
using namespace std;
int main()
{
int n,m,sum,i,j;
while(scanf("%d%d",&n,&m)!=EOF)
{

for(i=0;i<=(n/m)-1;i++)
{
sum=0;
for(j=1;j<=m;j++)
sum+=2*i*m+2*j;
if(n!=(i+1)*m)
{
printf("%d ",sum/m);
}
else
printf("%d",sum/m);

}
if(n%m!=0)
{
sum=0;
for(int k=1;k<=(n-(n/m)*m);k++)
sum+=2*(n/m)*m+2*k;
printf("%d ",sum/(n-(n/m)*m));
}
printf("\n");
}
return 0;
}