Sasume (./26) :
Oui mais là je ne calcule qu’une seule fois la racine carrée, avant la boucle et j’utilise la valeur dans le test de boucle.
J'espere que ton compilateur sait optimiser ca tout seul quand meme!
Sasume (./26) :
Oui mais là je ne calcule qu’une seule fois la racine carrée, avant la boucle et j’utilise la valeur dans le test de boucle.
Kevin Kofler (./31) :
Ce n'est pas si évident que ça, sqrt est une fonction, le compilateur ne sait pas forcément qu'elle est "pure" (sans effets de bord).
Sasume (./32) :Euh... divisors(1×2) = 2 est différent de 2×divisors(1×2/2)+1 qui vaut 3
Au fait, est-ce qu’on n’a pas divisors(n(n+1)) = 2 * divisors(n(n+1)/2) + 1 ?
Sasume (./38) :Alors déjà ça ne pourrait marcher que si k est impair, sinon tu recomptes plein de diviseurs du produit qui étaient déjà des diviseurs de k. Ensuite, même dans ce cas il ne faut pas oublier que l'un des diviseurs de k est le nombre 1. Par conséquent « toutes les combinaisons de 2 avec les autres diviseurs » ça contient entre autres le nombre 2×1, donc tu ne dois pas recompter 2 comme un diviseur de plus.
Je me suis dit que les diviseurs de 2×k contiendraient 2 et toutes les combinaisons de 2 avec les autres diviseurs, soit autant que de diviseurs de k.
Sasume (./32) :
Au fait, est-ce qu’on n’a pas divisors(n(n+1)) = 2 * divisors(n(n+1)/2) + 1 ?