Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # coding=utf-8
- # 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.
- # Pseudocode (nombres abondants en Python)
- import math
- # 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))
- def sommeDiviseurs(n):
- t=1
- s=int(n**0.5)
- i=2
- while i<=s:
- if n%i==0:
- if n!= i*i: t+=n/i
- t+=i
- i+=1
- return int(t)
- abondant=[]
- # puisque 12 est le plus petit nombre abondant (ses diviseurs sont 1,2,3,4,6 dont la somme vaut 16, 16>12)
- for i in range(12, 500):
- if sommeDiviseurs(i) > i:
- abondant.append(i)
- print("Tous les nombres abondants entre 12 et 499: ",abondant)
- print("Soit au total : ",len(abondant)," nombres abondants.")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement