Не могу решить задачу на C++. Постоянно выводится ответ 10000, т.е не присваивается значение

#include <iostream>
    
using namespace std;
int main () 
{    
int min =100000;
for (int i = 10000; i > 0; i--) 
{
    for( int n=1; n<20; n++)
    {
        if (i%n==0)
        {
            continue;
        }
        else 
        {
            break;
        }
        min==i; 
    }
    cout<<min;
}

Ответы (1 шт):

Автор решения: Harry

А вы оптимист - искать это число до 100000...
Вообще эта задача решается не так - вам нужно наименьшее общее кратное чисел от 1 до 20. К счастью, int хватает...

#include <iostream>
using namespace std;
// На тот случай, если в вашем компиляторе нет
// стандартных функций gcd и lcm...
int gcd(int m, int n)
{
    while(m && n) if (m < n) n %= m; else m %= n;
    return m + n;
}
int lcm(int m, int n)
{
    return m/gcd(m,n)*n;
}

int main()
{
    int N = 1;
    for(int i = 2; i <= 20; ++i)
        N = lcm(N,i);
    cout << N << endl;
}
→ Ссылка