fork download
  1. def suma_cyfr(liczba):
  2. suma = 0
  3. # 124982349872349
  4. # l%10 = 9
  5. # l//10 = 12498234987234 - > l/10 - reszta -> 12498234987234 r.9 i "reszta znika" (czyli pozbywamy sie jej bo uzywamy dzielenia calkowitego wiec daje nam to po prostu 12498234987234
  6. #...
  7. # l = 1
  8. # ostatnia_cyfra = 1
  9. # liczba = liczba//10 da wynik 0 wiec to skonczy program
  10. while liczba!=0:
  11. ostatnia_cyfra = liczba%10 #reszta z dzielenia liczby przez 10
  12. liczba = liczba // 10 # "odcinam" jedna cyfre - dziele calkowicie( bez reszty ) na 10
  13. suma += ostatnia_cyfra # to to samo suma = suma + ostatnia_cyfra
  14. return suma
  15.  
  16.  
  17. def czy_liczba_jest_pierwsza(liczba):
  18. if(liczba<=1): # sprawdzamy czy liczba nie jest 1 lub mniejsa bo wiemy ze to nie sa liczby pierwsze a dalej sprawdzamy tylko zakres dzielnikow od 2 do liczba-1
  19. return False
  20. for i in range(2,liczba,1): #zaczynamy od 2, i zmienia sie az do liczba-1, 1 jest po to, zeby program nie pomylil tego co jest startem (2), tego co koncem (liczba-1) i tego co jest
  21. #tym co definiuje co ile zmienia sie i
  22. if(liczba%i==0):
  23. return False
  24. return True
  25.  
  26. #e
  27. n = int(input())
  28. pom = 0
  29. suma_liczb = 0
  30. aktualna_liczba = 1
  31. while pom != n:
  32. suma_cyfr_aktualnej_liczby = suma_cyfr(aktualna_liczba)
  33. if(czy_liczba_jest_pierwsza(suma_cyfr_aktualnej_liczby)==True):
  34. pom+=1
  35. suma_liczb+=aktualna_liczba
  36. aktualna_liczba+=1
  37. print(suma_liczb)
  38.  
Success #stdin #stdout 0.12s 14092KB
stdin
4
stdout
17