Devo scrivere una funzione che prende come argomento un numero n e ritorno (come stringa) il numero più basso disponibile che può dividere per tutti i numeri da 1 a n. esempio, se n=4, la funzione restituirà 12 come 12/3 12/4 12/1 12/2 sono numeri interi.
ho scritto una funzione per quel che funziona bene quando i numeri sono meno di 19.. sopra 19 il tempo di calcolo è sempre molto più a lungo. qualcuno può darmi un suggerimento come migliorare il meccanismo di questa funzione per fare più in fretta
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++;
}
}