Перебираємо натуральні числа x = 1, 2, 3, ... . Для кожного рахуємо кількість його дільників. Як тільки знайдено число, у якого кількість дільників дорівнює , виводимо його і завершуємо роботу.
Таке рішення вкладається в обмеження за часом, оскільки значення не велике. Наприклад, для n = 16 відповідь дорівнює .
Реалізація алгоритму
Функція Divisors підраховує кількість дільників числа за допомогою простого перебору всіх можливих дільників від до .
int Divisors(int n)
{
int res = 0, i;
for (i = 1; i <= n; i++)
if (n % i == 0) res++;
return res;
}Основна частина програми. Читаємо вхідне значення — потрібна кількість дільників.
scanf("%d",&n);Послідовно перебираємо натуральні числа i = 1, 2, 3, ... і для кожного з них обчислюємо кількість дільників. Як тільки знаходиться число , у якого рівно дільників, цикл припиняється.
for (i = 1; ; i++)
{
d = Divisors(i);
if (d == n) break;
}Виводимо відповідь.
printf("%d\n",i);