Potrzebuję napisać funkcję, która przyjmuje jako argument liczbę n i zwraca (w postaci linii) najmniejszą dostępną wartość, którą można podzielić na wszystkie liczby od 1 do n. przykład, jeśli n=4, to funkcja zwróci 12, tak jak 12/4, 12/3, 12/2, 12/1-to liczby całkowite.
napisałem do tego funkcję, która działa, gdy liczby mniejsze od 19.. powyżej 19, komputerowe czasie staje się znacznie więcej. czy może ktoś dać mi jakieś wskazówki, jak poprawić mechanizm tej funkcji, aby zrobić to szybciej
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++;
}
}