杭电OJ2015
这题我做的和标准答案不一样 但我觉得 是对的 却AC不了
求个大佬来看一下 代码的问题
附上一份 标准的代码
#include<stdio.h>
int main(){
int n,m,i;
int a[101],b[101];
while(scanf("%d%d",&n,&m)!=EOF){
int count=0,sum=0,k=0;
for(i=1;i<=n;i++)
a[i]=2*i;
for(i=1;i<=n;i++){
count++;
sum+=a[i];
if(count==m){
b[k++]=sum/m;
sum=0;
count=0;
}
}
//如果最后不足m个,则以实际数量求平均值
if(n%m!=0){
b[k]=sum/(n%m);
k++;
}
for(i=0;i<k-1;i++){
printf("%d ",b[i]);
}
printf("%d\n",b[k-1]);
}
return 0;
}
我的代码
#include<stdio.h>
int main(){
int n=0,m=0;
while(scanf("%d %d",&n,&m)!=EOF){
int a[100];
int k =0;
if(n%m == 0){
k = n/m;
}else{
k = n/m+1;
}
for(int i =0;i<k;i++){
a[i]=0;
if(i == k-1){
for(int j =m*(k-1)+1;j<= n;j++){
a[i]+=2*j;
}
printf("%d",a[i]/(n-m*(k-1)));
}else if(i < k-1){
for(int j=1;j<=m;j++){
a[i]+=2*j;
}
printf("%d ",a[i]/m);
}
}
if(n == 0){
printf("%d",n);
}
printf("\n");
}
return 0;
}