输出1~k之间是m的倍数或n的倍数、但不是m和n的公倍数的数,其中1<=m,n<k<100,且m与n不相等,我的答案系统不认可

与例子输出一致但是系统不认可
我的答案:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int k,m,n,i;
1<=m,n<k<100,m!=n;
scanf("%d %d %d",&k,&m,&n);
for(i=2;i<=k;i++)
{
if((i%m==0&&i%n!=0)||(i%m!=0&&i%n==0))
{printf("%d",i);
printf(" ");}

}
return 0;

}

正确答案:

#include <stdio.h>
#include <stdlib.h>

int main()
{
int k,m,n,min,i;
scanf("%d %d %d",&k,&m,&n);
min=m<=n?m:n;
printf("%d",min);
for(i=min+1;i<=k;i++)
{
if((i%m==0||i%n==0)&&(i%m==0&&i%n==0)==0)
printf(" %d",i);
}
}
请大佬帮帮忙,帮忙看看为什么系统不认可我的答案