C语言用while的语句进行求解

给定 n(n≤10000) 和 k (k≤100),将从 1 到 n 之间的所有正整数可以分为两类:A 类数可以被 k 整除(也就是说是 k 的倍数),而 B 类数不能。请输出这两类数的平均数,精确到小数点后 1 位,用空格隔开。
输入n和k任意一个为0则退出。

#include <stdio.h>
int main()
{
    int n,k,i,sum1=0,num1=0,sum2=0,num2=0;
    scanf("%d%d",&n,&k);
    while(n!=0 && k!=0)
    {
        for(int i=1;i<n;i++)
        {
              if(i%k==0)
              {
                  sum1+=i;
                  num1++;
              }
              else
              {
                  sum2+=i;
                  num2++;
              }
        }
        printf("A=%.1f,B=%.1f\n",sum1*1.0/num1,sum2*1.0/num2);
    }
    return 0;
}