http://acm.hdu.edu.cn/showproblem.php?pid=2015
先把不属于多出来的那些数的求和并输出,然后再去处理多出来的那几个
View Code
1 #include<stdio.h> 2 int main() 3 { 4 int n,m,k,i,sum,j; 5 int a[101]; 6 a[1]=2; 7 for(i=2;i<101;i++) 8 a[i]=a[i-1]+2; 9 while(scanf("%d%d",&n,&m)!=EOF) 10 { 11 k=n/m; 12 for(i=0;i<k;i++)//在k的倍数之内的 13 { 14 sum=0; 15 for(j=i*m+1;j<=m*(i+1);j++) 16 sum+=a[j]; 17 if(i==0) 18 printf("%d",sum/m); 19 else printf(" %d",sum/m); //这是按格式输出 20 } 21 sum=0; 22 k=0; 23 if(n%m) 24 { 25 for(;j<=n;j++) 26 { 27 k++; 28 sum+=a[j]; 29 } 30 printf(" %d",sum/k);//这个和是多出来的那几个 31 } 32 printf("\n"); 33 } 34 return 0; 35 }