c++,这道水果题有DA神讲解一下吗?

萌萌和瞳瞳各拿N元去买苹果和西瓜,已知每个苹果的价格是a、每个西瓜的价格是b。萌萌要求N元买苹果全部正好用完;瞳瞳的要求N元买西瓜后正好剩3元作为请人运输的费用。
如果N至少是100,请问N最少是多少?
输入格式
一行2个正整数:a和b,a范围在[1,20], b范围在[4,20]

思路:for循环从100开始,尝试每一个数字,如果该数字除苹果价格a为0,且除西瓜价格b余数为3,则该数字为N

#include<iostream>
using namespace std;
int main() {
    int a,b;
    cin >> a >> b;
    for(int i=100;;i++) {
        if(i%a==0&&i%b==3) {
            cout << i;
            break;
        }
    }
    return 0;
}