Eu preciso escrever uma função que recebe como argumento o número de n e de retorno (como string) o menor número que pode dividir por todos os números de 1 a n. exemplo, se n=4, a função retornará 12 como 12/4 12/3 12/2 12/1 são números inteiros.
eu tenho escrito uma função, pois o que funciona bem quando os números são menos de 19.. acima de 19 a computação de tempo está ficando muito mais tempo. alguém pode me dar uma dica de como melhorar o mecanismo para esta função para fazê-lo mais rápido
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++;
}
}