148A - Insomnia Cure

Count all numbers [1, d] that are at least divisible by k, l, m or n.

Time complexity: $O(d)$

Memory complexity: $O(1)$

Click to show code.


using namespace std;
using ll = long long;
using ii = pair<int, int>;
using vi = vector<int>;
int main(void)
{
    ios::sync_with_stdio(false), cin.tie(NULL);
    vi factors(4);
    for (auto &fi : factors)
        cin >> fi;
    int d, ans = 0;
    cin >> d;
    for (int i = 1; i <= d; ++i)
    {
        for (auto fi : factors)
        {
            if (i % fi == 0)
            {
                ans++;
                break;
            }
        }
    }
    cout << ans << endl;
    return 0;
}