Inscription / Connexion Nouveau Sujet
Niveau énigmes
Partager :

Diviser pour régner

Posté par
LittleFox
17-08-20 à 17:57


Le nombre 60 a 12 diviseurs. C'est le plus petit nombre a avoir exactement 12 diviseurs.
Quel est le plus petit nombre qui a 30 diviseurs? 420 diviseurs? Et pour 2520 diviseurs?

Posté par
verdurin
re : Diviser pour régner 17-08-20 à 18:11

Bonsoir,

 Cliquez pour afficher

Posté par
verdurin
re : Diviser pour régner 17-08-20 à 18:18

Pour finir

 Cliquez pour afficher

Posté par
jandri Correcteur
re : Diviser pour régner 17-08-20 à 19:06

Bonsoir,
pour 30 diviseurs le plus petit est :

 Cliquez pour afficher

pour 420 diviseurs le plus petit est :
 Cliquez pour afficher

pour 25200 diviseurs le plus petit est :
 Cliquez pour afficher

Posté par
jandri Correcteur
re : Diviser pour régner 17-08-20 à 19:07

C'est pour 2520 et pas 25200 .

Posté par
LittleFox
re : Diviser pour régner 17-08-20 à 19:14


Bonsoir verdurin

Correct pour 30 diviseurs.
Pour 420 diviseurs, il y a un (seul) nombre plus petit qui a 420 diviseurs.
Pour 2520, il y 33 nombres plus petits.

Ce n'est pas si simple

Posté par
LittleFox
re : Diviser pour régner 17-08-20 à 19:15


Bravo jandri

Comment es-tu arrivé à la solution?

Posté par
jandri Correcteur
re : Diviser pour régner 17-08-20 à 19:29

Pour moi ce n'est pas difficile, j'utilise la formule qui donne le nombre de diviseurs d'un entier n en fonction de sa factorisation en produit de puissances de nombres premiers.

 Cliquez pour afficher

Posté par
LittleFox
re : Diviser pour régner 17-08-20 à 19:29


Un petit, plus difficile (peut-être?) : Quel est le plus petit nombre avec 192 diviseurs?

Posté par
jandri Correcteur
re : Diviser pour régner 17-08-20 à 20:42

Je propose :

 Cliquez pour afficher

Posté par
flight
re : Diviser pour régner 17-08-20 à 20:43

salut

ces questions peuvent facilement se traiter à l'aide d'un algo

Posté par
verdurin
re : Diviser pour régner 17-08-20 à 21:08

Je vois d'où vient mon erreur.

flight

[ . . . ] ces questions peuvent facilement se traiter à l'aide d'un algo
C'est sûr, mais fait le.

Posté par
jandri Correcteur
re : Diviser pour régner 17-08-20 à 23:18

Effectivement c'est un peu plus difficile pour 192 car il y a plusieurs cas à comparer.

J'avais d'abord trouvé le deuxième, le plus petit est :

 Cliquez pour afficher

Posté par
LittleFox
re : Diviser pour régner 18-08-20 à 09:25

flight @ 17-08-2020 à 20:43

salut

ces questions peuvent facilement se traiter à l'aide d'un algo


C'est effectivement ce que j'ai fait mais pour une fois il est presque plus facile de raisonner à la main et avec une calculette.

@jandri Ta deuxième solution est la bonne.

Il faut connaitre la formule qui donne le nombre de diviseurs que jandri a rappelé.

Ensuite il faut trouver une décomposition en produit du nombre de diviseurs qui donne le plus petit nombre.

Par exemple:

30 = 2x3x5 => n = 25-1x33-1x52-1 = 720

Pour 30, 420 et 2520, il suffit de mettre les facteurs dans l'ordre décroissant. Mais pas pour 192.

192 = 3x2x2x2x2x2x2 mais 23 < 17 et 32 < 13 => 192=6x4x2x2x2 => n = 25x33x5x7x11 = 332640

Posté par
flight
re : Diviser pour régner 18-08-20 à 21:34

salut

Citation :
pour 192 j'ai tenté l'algo suivant qui me retourne  332640

Function nbr_div(x As Double) As Double

Dim t, s As Variant
Dim c
c = 1
compt = x
t = Array(2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97)  'j'ai recuperé les 100 nombres premiers pour faciliter les choses

For j = 0 To UBound(t)
p = 1
  While x Mod (Val(t(j)) ^ p) = 0
    p = p + 1
   Wend

   result = result & " " & p - 1
  x = x / Val(t(j)) ^ (p - 1)
Next

s = Split(LTrim(result), " ")
   For k = 0 To UBound(s)
     c = c * (Val(s(k)) + 1)
   Next
      nbr_div = c
      compt = compt + 1
End Function

Sub test()
Dim i  As Double
compt = 2       ' compt est une variable publique de type double
Do
i = compt
Loop Until nbr_div(i) = 192     'essai avec  192
MsgBox compt - 1       '-----------> ' retourne   332640
End Sub

Posté par
LittleFox
re : Diviser pour régner 18-08-20 à 22:05


@flight
Oui, c'est la façon la plus directe. Calculer le nombre de diviseurs de chaque nombre jusqu'à en trouver un qui a le bon nombre de diviseurs. C'est loin d'être le plus efficace. Même pour calculer le nombre de diviseurs de tous les nombres en série. Encore moins pour trouver un nombre dont on connaît le nombre de diviseurs.

Un peu perturbant cette variable compt qui est incrémentée dans la fonction nbr_div au lieu de la boucle.

Je souhaite bonne chance à ton algo pour 2520 diviseurs.
Et pour 71 diviseurs, n'en parlons pas. Pourtant la réponse est évidente.

Sur ce, bonsoir.

Posté par
dpi
re : Diviser pour régner 19-08-20 à 16:21

Bonjour,
J'arrive un peu tard,mais je me suis fait un bidule qui donne le nombre de diviseurs.
J'ai ainsi pu vérifier les nombres donnés par les excellents participants.

Au hasard 123 456 789 n'a que  8 diviseurs  38 798 760 en a512.

Posté par
LittleFox
re : Diviser pour régner 19-08-20 à 17:05


J'ai 12 diviseurs pour 123456789
As-tu bien tenu compte du carré au dessus du facteur 3?
Mais bien 512 pour 387997760

Posté par
dpi
re : Diviser pour régner 19-08-20 à 17:15

En utilisant les décompositions et les puissances de jandri
J'ai vérifié que  200 diviseurs sont  attribués  à  498960  et 300 à 11 340 000
71  diviseurs n'apparaitraient que pour  2^{70}??

Posté par
LittleFox
re : Diviser pour régner 19-08-20 à 17:23


Correct pour 200 diviseurs.
Pour 300 diviseurs, 11340000 en a bien 300 mais ce n'est pas le plus petit.

71 diviseurs apparaît pour 270, 370, 570, ... Toutes les puissances 70ème d'un nombre premier en fait. Le plus petit est bien 270.

Posté par
dpi
re : Diviser pour régner 20-08-20 à 08:08

>Littlefox
Tu as raison pour 123456789  --->10 diviseurs +1 et lui-même

Posté par
dpi
re : Diviser pour régner 20-08-20 à 18:02

j'ai voulu tester mon bidule

500    diviseurs pour 62 370 000
1000  diviseurs pour 810 810 000      

Posté par
LittleFox
re : Diviser pour régner 20-08-20 à 18:15

@dpi Les deux sont les plus petits nombres avec ce nombre de diviseurs

Posté par
dpi
re : Diviser pour régner 04-09-20 à 08:04

>LittleFox
je suis surpris que tu n'aies point participé à  "Des diviseurs pythagoriciens "

Posté par
weierstrass
re : Diviser pour régner 04-09-20 à 22:54

On est très proche de ce (relativement) récent sujet sur prise de tête :


J'y détaille une méthode pour approximer ce genre de problème (mais qui ne marche pas top), et je donne un lien vers l'OEIS à la fin.

Répondre à ce sujet

Seuls les membres peuvent poster sur le forum !

Vous devez être connecté pour poster :

Connexion / Inscription Poster un nouveau sujet
Une question ?
Besoin d'aide ?
(Gratuit)
Un modérateur est susceptible de supprimer toute contribution qui ne serait pas en relation avec le thème de discussion abordé, la ligne éditoriale du site, ou qui serait contraire à la loi.


Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !