Naive method:
Code:
#include <stdio.h>
int main()
{
for (int n = 1; ; n++)
{
int d = 1;
for( ; d < 21; d++)
if (n % d != 0)
break;
if (d == 21)
{
printf("%d\n", n);
break;
}
}
return 0;
}
Faster method:
Code:
#include <stdio.h>
void find_divs(int n, int *divs)
{
for (int d = 2; d <= n; ++d)
{
int cnt = 0;
while (n % d == 0)
{
n /= d;
++cnt;
}
if (divs[d] < cnt)
divs[d] = cnt;
}
}
int main()
{
int divs[20] = {0};
for (int d = 1; d <= 20; ++d)
find_divs(d, divs);
int n = 1;
for (int d = 1; d < 20; ++d)
for (int i = 0; i < divs[d]; ++i)
n *= d;
printf("%d\n", n);
return 0;
}