Sagot :
Réponse :
Bonjour,
Voici mon programme sur Python :
def div(N):
L=[]
for i in range(1,N+1):
a=1
c=0
while a<=i:
if i%a==0:
c+=1
a+=1
L.append(c)
M=2
F=[]
for i in range(N):
if L[i]==M:
F.append(i+1)
if L[i]>M:
M=L[i]
F=[]
F.append(i+1)
print("Maximum diviseurs :",M,"pour le nombre",F)
for i in F:
a=1
E=[]
while a<=i:
if i%a==0:
E.append(a)
a+=1
print("Diviseurs de",i,":",E)
On peut choisir la valeur de N et donc avoir une réponse pour les entiers de 1 à N. S'il existe plusieurs nombres ayant le maximum de diviseurs dans l'intervalle, le programme les trouve et les affiche. De plus, la liste des diviseurs de ce ou ces nombres est affichée pour rendre le programme détaillé.
>>> div(10)
Maximum diviseurs : 4 pour le nombre [6, 8, 10]
Diviseurs de 6 : [1, 2, 3, 6]
Diviseurs de 8 : [1, 2, 4, 8]
Diviseurs de 10 : [1, 2, 5, 10]
>>> div(100)
Maximum diviseurs : 12 pour le nombre [60, 72, 84, 90, 96]
Diviseurs de 60 : [1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60]
Diviseurs de 72 : [1, 2, 3, 4, 6, 8, 9, 12, 18, 24, 36, 72]
Diviseurs de 84 : [1, 2, 3, 4, 6, 7, 12, 14, 21, 28, 42, 84]
Diviseurs de 90 : [1, 2, 3, 5, 6, 9, 10, 15, 18, 30, 45, 90]
Diviseurs de 96 : [1, 2, 3, 4, 6, 8, 12, 16, 24, 32, 48, 96]
>>> div(1000)
Maximum diviseurs : 32 pour le nombre [840]
Diviseurs de 840 : [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 20, 21, 24, 28, 30, 35, 40, 42, 56, 60, 70, 84, 105, 120, 140, 168, 210, 280, 420, 840]