给定 n 和 k,将从 1 到 n 之间的所有正整数可以分为两类:A 类数可以被 k 整除(也就是说是 k 的倍数),而 B 类数不能。请输出这两类数的平均数,精确到小数点后 1 位,用空格隔开。数据保证两类数的个数都不会是 0。
输入 100 16 输出结果 56.0 50.1
#include<stdio.h>
int main (){
int n,k,i,j,m,l,h;
scanf("%d%d",&n,&k);
int t[n+1];
int a;
a=1;
for(i=1;i<=n;i++){
t[i]=a;
a++;
}
int sum1=0,sum2=0;
m=0;
l=0;
for(i=1;i<=n;i++){
if(t[i]%k==0){
j=t[i];
sum1+=j;
m++;
}
else{
h=t[i];
sum2+=h;
l++;
}
}
double p1,p2;
p1=sum1/m;
p2=sum2/l;
printf("%.1lf %.2lf",p1,p2);
return 0;
}
求帮忙看看为啥我的结果是56.0 50.0