Advertisement
Guest User

FCM C&C n°56

a guest
Feb 6th, 2012
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.95 KB | None | 0 0
  1. #!/bin/bash
  2. # coding=utf-8
  3. # Voici un exemple de fichier Python pour C&C du FCM n°56, qui contient du code pour calculer les nombres abondants compris entre 2 et 500.
  4.  
  5. # Pseudocode (nombres abondants en Python)
  6. import math
  7.  
  8. # Fonction basée sur le fait que les diviseurs d'un nombre sont inférieurs à sa racine carrée. Pour chaque nombre (i) entre 2 et sqrt(n) si i est un diviseur alors n/i est l'autre diviseur. Complexite: O(sqrt(n))
  9. def sommeDiviseurs(n):
  10.     t=1
  11.     s=int(n**0.5)
  12.     i=2
  13.     while i<=s:
  14.         if n%i==0:
  15.             if n!= i*i: t+=n/i
  16.             t+=i
  17.  
  18.         i+=1
  19.     return int(t)
  20.  
  21. abondant=[]
  22.  
  23. # puisque 12 est le plus petit nombre abondant (ses diviseurs sont 1,2,3,4,6 dont la somme vaut 16, 16>12)
  24. for i in range(12, 500):
  25.     if sommeDiviseurs(i) > i:
  26.         abondant.append(i)
  27.  
  28. print("Tous les nombres abondants entre 12 et 499: ",abondant)
  29. print("Soit au total : ",len(abondant)," nombres abondants.")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement