Advertisement
Carlettos

Digitos que suman 17 MPI

Jun 13th, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.67 KB | None | 0 0
  1. from mpi4py import MPI
  2. comm = MPI.COMM_WORLD
  3. rank = comm.Get_rank()
  4. size = comm.Get_size()
  5.  
  6. def suman17(n):
  7.     digitos = list(str(n))
  8.     suma = 0
  9.     for d in digitos:
  10.         suma += int(d)
  11.     return suma == 17
  12.  
  13. def primeroMayor(n):
  14.     digitos = list(str(n))
  15.     return int(digitos[0]) > int(digitos[-1])
  16.  
  17. def digitos2y6(n):
  18.     digitos = list(str(n))
  19.     return "2" in digitos and "6" in digitos
  20.  
  21. numeros = []
  22. for n in range(0, 100_000, size):
  23.     if suman17(n) and primeroMayor(n) and digitos2y6(n):
  24.         numeros.append(n)
  25.  
  26. suma_parciales = sum(numeros)
  27. sumas_parciales = comm.gather(suma_parciales)
  28. if rank == 0:
  29.         print(sum(sumas_parciales))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement