eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

n-е число що ділиться на a або b

опубліковано 07.07.22, 00:38:40

Условие не совсем правильно написано, "либо условие1, либо условие2" не является правдой, когда оба условия верны, а пример с картинки описывает фраза "условие1 или условие2", тут выполнение обоих условий даёт правду :)

Upd. буквально: "либо у1, либо у2" = y1 xor y2; "y1 или y2" = y1 or y2

опубліковано 06.02.24, 09:31:25

include <bits/stdc++.h>

using namespace std;

long long a,b,n;

long long f( long long n) 
{
    return n / a + n / b - n/(a * b /__gcd( a , b ) );
}

int main()

{

cin >> a >> b >> n;

int l = 1,r = 1e9 , mid=0;

while (l<r) {

    mid = ( l + r ) / 2;

    if (f ( mid ) >= n )

    r = mid;

    else l = mid + 1;
}
cout << l;

}