Мне нужно написать функцию, которая принимает в качестве аргумента число n и возвращает (в виде строки) наименьшее доступное число, которое можно разделить на все числа от 1 до n. пример, если n=4, то функция вернет 12, так как 12/4, 12/3, 12/2, 12/1-это целые числа.
я написал для этого функцию, которая отлично работает, когда числа меньше 19.. выше 19, вычислительное время становится намного больше. может ли кто-нибудь дать мне подсказку, как улучшить механизм этой функции, чтобы сделать это быстрее
public static string Smallest(int n)
{
int good = 0;//will hold number of times we got divide with no remianders
int num = n;//smallest possible number is n
while (true)
{
good = 0;
for (int i=n; i>=1; i--)
{
if (num % i ==0) good++;//meaning we got zero remainder for the divide
if (good == n) return num.ToString();//num of times we got zero remainders == n.
}
num++;
}
}