Aujourd'hui, j'ai vu une question comme celle-ci dans le groupe technique : Trouvez la somme des nombres compris entre 1000 et divisibles par 3 ou 5. Parmi elles, j’ai vu la très intéressante solution 2. J’étais assez confus au début, mais après y avoir réfléchi un moment et reçu quelques conseils, je me suis soudain senti éclairé.
La première solution est très courante, qui consiste à parcourir tous les nombres à moins de 1000. Tant qu'il y a des nombres divisibles par 3 ou 5, additionnez-les et obtenez finalement une somme totale.
Ce qui m'intéresse c'est la deuxième solution, qui utilise astucieusement la suite arithmétique mathématique
La série du premier terme d'une suite arithmétique avec tolérance est :
La deuxième méthode utilise (a1+an)/3*3 dans la première étape, cela devient donc 3*(1+333)*333/2. Cette étape consiste à diviser tous les termes par 3. Additionnez-le.
De même, dans sum(Math.floor(input-1)/5))*5, additionnez tous les éléments compris entre 1000 et pouvant être divisés par 5. Enfin, il existe des nombres répétés qui peuvent être divisés par 3 et 5. , comme 15, puis soustrayez les nombres qui sont divisés à plusieurs reprises par 15, et vous pouvez obtenir la somme des nombres compris entre 1000 et qui peuvent être divisés par 3 ou 5.
Ceci termine l'introduction à l'implémentation JS consistant à trouver la somme de nombres compris entre 1000 et divisible par 3 ou 5. J'espère que cela vous sera utile !