Discussion:Table des diviseurs
Dernier commentaire : il y a 14 ans par Bdc43 dans le sujet Recalcul de la page
Autres discussions [liste]
- Admissibilité
- Neutralité
- Droit d'auteur
- Article de qualité
- Bon article
- Lumière sur
- À faire
- Archives
- Commons
Recalcul de la page
modifierJ'ai utilisé le programme suivant en python, je l'insère ici pour le cas où quelqu'un voudrait modifier l'allure générale des tableaux ou ajouter une colonne, sans tout refaire à la main. Noter que la partie générée automatiquement va de la première section de tableau (nombres de 1 à 100) à la dernière (901 à 1000), y compris titres et boîtes déroulantes, mais pas le texte écrit avant et après cette zone. Le programme n'est pas commenté, mais sa structure est très simple (pour ne pas dire simpliste !).
Programme de génération de la page
# encoding: UTF-8
import sys, os
def ldiv(n):
u = [ ]
for i in range(1,n+1):
if (n%i)==0:
u.append(i)
return u
def main():
f = open("page.wiki","wt")
for n in range(1,1001):
if n%100 == 1:
a = (n/100)*100
f.write("== Diviseurs des nombres de %d à %d ==\n" % (a+1,a+100))
f.write("{{Boîte déroulante début|titre=Diviseurs des nombres de %d à %d}}\n" % (a+1,a+100))
f.write("{| border=\"1\" cellspacing=\"0\" cellpadding=\"3\"\n")
if n%20 == 1:
if n%100 != 1:
f.write("|-\n")
f.write("|----- bgcolor=\"#90ee90\"\n")
f.write("!''n''\n")
f.write("!Diviseurs\n")
f.write("!''d''(''n'')\n")
f.write("!σ(''n'')\n")
f.write("!''s''(''n'')\n")
f.write("!Notes\n")
v = ldiv(n)
s = sum(v)
t = s - n
f.write("|-\n")
f.write("![[%d (nombre)|%d]]\n" % (n,n))
f.write("|%s\n" % (", ".join([str(k) for k in v])))
f.write("|%d\n" % len(v))
f.write("|%d\n" % s)
f.write("|%d\n" % t)
z = ""
if t == n:
z += ", [[Nombre parfait|parfait]]"
elif t < n:
z += ", [[Nombre déficient|déficient]]"
elif t > n:
z += ", [[Nombre abondant|abondant]]"
if len(v) == 2:
z += ", [[Nombre premier|premier]]"
if len(z)>2:
z = z[2:]
f.write("|%s\n" % z)
if n%100 == 0:
f.write("|-\n")
f.write("|----- bgcolor=\"#90ee90\"\n")
f.write("!''n''\n")
f.write("!Diviseurs\n")
f.write("!''d''(''n'')\n")
f.write("!σ(''n'')\n")
f.write("!''s''(''n'')\n")
f.write("!Notes\n")
f.write("|}\n")
f.write("{{Boîte déroulante fin}}\n")
f.close()
main()