乐乐的幸运数C++?

描述
乐乐喜欢6和8,但他和别的小朋友不一样,别的小朋友都喜欢以6或8结尾的数字,但乐乐却喜欢6或8的倍数,他认为6或8的倍数是他的幸运数。现给出两个边界(m,n),请你帮助乐乐计算m到n中(包括m,n),有多少个乐乐的幸运数。
输入

一行:两个整数m,n(3<=m<=n<=20000)。
输出
输出文件只有一个数,表示乐乐的幸运数的个数。
样例输入
10 20
样例输出
3

我写的代码是这样的

#include <bits/stdc++.h>
using namespace std;
int m,n,a=0,b=0,s=0;
int main(){
    cin>>m>>n;
    for (a<=n;b<=n;){
        a=a+6;
        b=b+8;
        if (a>=m&&a<=n)
        { 
            s=s+1;
            } 
        if (b>=m&&b<=n)
        { 
            s=s+1;
            } 
    }
    cout<<s;
    return 0;
    }

但是提交时对了50分

功能能实现,结果也没问题,不知道系统怎么评分的,可能是没看到想要的算式。参考下面的:

int main()
{
  int m,n,i;
  int s = 0;
  cin >>m >> n;
  for(i=m;i<=n;i++)
  {
    if(i%6==0 || i%8==0)
      s++;
  }
  cout << s << endl;
  return 0;
}